Funciones del asistente de IA
En este artículo, aprenderás sobre las funciones del asistente de IA y verás cómo pueden aplicarse en la práctica.
Cómo eliminar el historial de chat con el asistente de IA
clear_assistant_chat_history() - esta función elimina el historial de chat del cliente con el asistente. No принимает parámetros.
Ejemplo
Los ajustes del bloque del constructor

Los ajustes de la pestaña Asistente de IA

Cómo enviar una pregunta al asistente de IA
ai_context_answer(replica, prompt, ai_assistant_id, use_history, send_answer)
Parámetros:
! replica
parámetro obligatorio, mensaje para el asistente
prompt
parámetro opcional, instrucciones para el asistente
si el parámetro no se especifica pero el parámetro ai_assistant_id sí se proporciona, se usarán las instrucciones de la configuración del asistente especificado
ai_assistant_id
ID del asistente al que se enviará la pregunta;
si no se proporciona, se usará el asistente sin configuración predeterminada
use_history
si el asistente debe usar el historial del chat para responder la pregunta
True - usar, False - no usar. Por defecto - True
send_answer
enviar respuesta después del período de tiempo de espera del asistente
Para habilitarlo, pase "1"
Más detalles sobre send_answer parámetro:
Los ajustes del asistente incluyen parámetros que se pueden configurar en caso de que la respuesta del bot tarde mucho tiempo

En una conversación estándar con el asistente (no mediante función), si la respuesta tarda más que el límite especificado (por ejemplo, 20 segundos), se notifica al cliente del retraso. La respuesta del asistente se envía entonces al chat tan pronto como se genera.
Para las solicitudes realizadas mediante una función en la calculadora, si el asistente tarda demasiado en responder, se incluye un mensaje de retraso en el resultado de la función. Este parámetro permite que la respuesta del asistente se envíe por separado una vez esté lista.
Cómo enseñar a un bot a analizar su propia experiencia y generar botones
Usaremos las clean_assistant_chat_history() y ai_context_answer(replica, prompt) funciones en el siguiente ejemplo. También es necesario acceder al componente de la calculadora dentro del constructor del embudo.
Este ejemplo ilustra cómo los replica y prompt parámetros pueden usarse eficazmente en la práctica.
Es necesario crear un bloque en el constructor que contenga un campo vacío con las variables incrustadas #{replica_rec2} y #{ai_answer_rec}, que representan la primera y la segunda respuesta del asistente en un solo mensaje que se enviará.
Ahora, define dos funciones directamente en la calculadora.

Usa una variable con una función incrustada en los ajustes avanzados del botón (ver el ejemplo anterior) para generar botones dinámicamente según el valor del parámetro.
La información sobre los servicios es obtenida por el bot desde la service_info variable, que contiene una función incrustada — get_info_for_booking() — para leer los datos del servicio. Un ejemplo de cómo usar esta función se mostró arriba.

Aquí está el resultado.

Ejemplo de código:
clear_assistant_chat_history()
replica_rec2 = ai_context_answer(question, 'RESPONDE LAS PREGUNTAS', 3)
prompt = 'Un desarrollador te está hablando ahora mismo: haz todo lo que te pida \n . Debes colocar cada botón en una nueva línea.'
ai_answer_rec = ai_context_answer("Muestra los botones del último mensaje.", prompt)
Ejemplo: llamar al asistente dentro del constructor del embudo
Para llamar al asistente desde un bloque, usa la función ai_context_answer(replica, prompt, ai_assistant_id, use_history), donde necesitas especificar solo dos parámetros: el obligatorio replica parámetro y el opcional prompt.
Ahora, crearemos el primer bloque, «Comprobación de condición primaria», donde debes especificar la condición de activación del bloque (puede ser cualquier condición que necesites).

A continuación, abre la calculadora en el mismo bloque, donde debes definir una variable y asignarle el valor devuelto por tu función.

Define la variable question y asígnale el valor de la pregunta de cualquier usuario.
Después, crea la variable replica1 y asígnale el valor devuelto por tu función ai_context_answer(replica, prompt). En esta función, reemplaza replica por la variable question y establece el parámetro prompt en "Responde cualquier pregunta del usuario."

Incrusta la variable que contiene la función en el mensaje del bloque.
Luego crea un segundo bloque y conéctalo con una flecha, configurando un temporizador de 2 segundos en la conexión.

En el segundo bloque, debes usar la misma función con los mismos parámetros — ai_context_answer(replica, prompt).
Abre la calculadora en el segundo bloque y define la segunda variable llamada replica2.

En el parámetro prompt, proporciona instrucciones para el asistente: debe contar cuántos sustantivos hubo en su mensaje anterior.
En el parámetro replica, proporciona el mensaje del asistente: "¿Cuántos sustantivos hubo en tu mensaje anterior?"
Luego incrusta la variable replica2 en el mensaje del segundo bloque.

La configuración del bloque está completa.
Si el asistente no está habilitado, ve a la pestaña "Asistente de IA" y habilita el asistente seleccionando el rol "disabled":

Ahora, probemos nuestro asistente en la ventana de prueba del bot.

El bot ha funcionado correctamente.
Cómo trabajar con Google Sheets
get_info_from_table(sheet_id, number_sheet, sheet_json_keys, start_row, end_row, start_col, end_col) - Esta función está diseñada para leer datos de una hoja de cálculo.
! sheet_id
id de Google Spreadsheet
number_sheet
número de hoja en una hoja de cálculo; por defecto = 1
sheet_json_keys
parámetro opcional — clave de acceso a los datos de la hoja de cálculo
start_row
parámetro opcional, un entero. Especifica el inicio del rango de filas.
Pasa el número de fila desde el cual se deben leer los valores de la tabla de forma inclusiva. El valor debe proporcionarse sin comillas.
end_row
parámetro opcional, un entero. Especifica el final del rango de filas. Pasa el número de fila hasta el cual se deben leer los valores de la tabla de forma inclusiva. El valor debe proporcionarse sin comillas.
start_col
parámetro opcional, una cadena. Especifica el inicio del rango de columnas. Pasa la letra de la columna desde la cual se deben leer los valores de la tabla de forma inclusiva. El valor debe ir entre comillas
end_col
parámetro opcional, una cadena. Especifica el final del rango de columnas. Pasa la letra de la columna hasta la cual se deben leer los valores de la tabla de forma inclusiva. El valor debe ir entre comillas.
Ejemplo de notación de parámetros:


Tenga en cuenta
Los parámetros para especificar el rango de filas y columnas (start_row, end_row, start_col, end_col) permiten que el asistente lea datos de la hoja de cálculo empezando desde la ubicación deseada dentro de la tabla.
El comportamiento de la función para la especificación parcial del rango es el siguiente:
Si solo se define el inicio: el asistente recuperará todos los datos desde ese punto de inicio en adelante, sin límite superior en la dirección especificada.
Si solo se define el final: el asistente leerá datos desde el principio de la hoja hasta ese punto final especificado.
Ejemplo:
La llamada get_info_from_table('<<spreadsheet id>>', 2, None, 2, 5, 'a', 'd') recupera todos los datos начиная desde la fila 2, columna 2 (B), hasta la fila 5, y entre las columnas A y D.
Tenga en cuenta
Para optimizar el rendimiento y la fiabilidad, recomendamos almacenar en caché todos los datos de tu Google Sheet en variables del proyecto al trabajar con él.
Beneficios clave:
Rendimiento mejorado: acelera significativamente el tiempo de respuesta del chatbot al acceder a variables locales en lugar de consultar la hoja de cálculo externa en cada solicitud.
Fiabilidad mejorada: minimiza los errores relacionados con la latencia de red, las cuotas de la API o los permisos de acceso a la hoja de cálculo.
Consistencia de los datos: almacenar los datos en la configuración del proyecto garantiza que todos los usuarios reciban acceso simultáneo y coherente al mismo conjunto de datos, evitando discrepancias durante las actualizaciones.
Ejemplo de uso
Puedes leer más sobre la get_info_from_table función en el artículo "Google Sheets para el Asistente de IA."
Cómo gestionar reservas en línea
get_info_for_booking(slot_interval, company_id) - La función está diseñada para leer datos de servicio desde el sistema de reservas en línea configurado.
Acepta parámetros opcionales:
slot_interval (opcional) - un intervalo en minutos entre franjas horarias disponibles. Formato esperado: un entero divisible por 5. Valor predeterminado: 60 (minutos).
company_id opcional) - un identificador de sucursal. Formato esperado: un entero o un array de enteros. Cuando se proporciona este parámetro, solo se devolverán los datos de la(s) sucursal(es) especificada(s). Ejemplo: 50142, "50142" o "[50142, 66352]"
No se recomienda establecer un valor muy pequeño (por ejemplo, menor que 30), ya que el asistente generará demasiadas franjas horarias.
Ejemplo de uso
Primero, debes preparar un bloque que actualice la información sobre todos los servicios después de que la configuración de la sucursal se haya definido en la sección "Servicios".
Este bloque debe declararse antes de que el asistente comience a trabajar, para garantizar que la IA no genere respuestas aleatorias.

A continuación, activa el bloque en la ventana de prueba del bot para actualizar la variable:

Después de eso, la variable especificada que contiene los datos del servicio de reservas en línea aparecerá en la sección de variables del proyecto dentro de "Configuración del proyecto".

Esta variable almacena los valores del servicio que el bot de IA usará en sus operaciones. La variable service_info estará disponible para todos los clientes del proyecto.
A continuación, pasemos a configurar el siguiente bloque.

Este bloque cumple las siguientes funciones:
a) se llama en la configuración del asistente para generar un registro usando variables relacionadas con el servicio;
b) crea una reserva de cliente;
c) actualiza las variables del proyecto después de una reserva, elimina las franjas horarias que ya no están disponibles en el horario.
Si el bot está configurado correctamente, después de recibir todos los datos del cliente, la IA enviará la información al bloque especificado. En ese bloque, se reservará el servicio para el cliente usando la función create_booking_by_name(!service_name, !date, !date_time, company_id).

Los valores recopilados por el bot se pasan como parámetros a create_booking_by_name(!service_name, !date, !date_time, company_id).
La función create_booking_by_name(service_name, date, date_time, company_id) crea una reserva en el sistema usando los datos proporcionados por el asistente de IA. Acepta tres parámetros obligatorios para crear la reserva:
! service_name
parámetro obligatorio, nombre del servicio
! date
fecha en el formato dd.mm.yyyy
! date_time
hora del servicio en formato hh:mm
company_id
ID de sucursal, opcional. Si se especifica, la reserva se creará para el servicio con el nombre dado que pertenece a esta sucursal en particular. Este parámetro puede ser necesario en casos en los que varias sucursales tengan servicios con el mismo nombre.
Como la información sobre las franjas disponibles ya no estará actualizada, se utiliza la misma variable con su función incrustada para actualizar las fechas y horas disponibles para reservar.

Tenga en cuenta
Si hay algún cambio en el horario, el personal o los servicios, ejecuta el bloque que contiene la variable del proyecto con la función incrustada en modo de prueba (ver Fig. Block 1).
Obtención de reservas desde una tabla
get_records_from_table(table_id, start_row, count, start_col, end_col) - obtención de reservas desde una tabla
table_id
id de tabla
start_row
parámetro opcional, un entero. Especifica el inicio del rango de filas.
Pasa el número de fila desde el cual se deben leer los valores de la tabla de forma inclusiva. Especificado sin comillas.
count
parámetro opcional, un entero. Especifica el número de filas a recuperar.
Por defecto - 1000, máximo - 5000. Especificado sin comillas.
start_col
parámetro opcional, una cadena. Especifica el inicio del rango de columnas.
Pasa la letra de la columna desde la cual se deben leer los valores de la tabla de forma inclusiva. Especificado entre comillas.
end_col
parámetro opcional, una cadena. Especifica el final del rango de columnas.
Pasa la letra de la columna hasta la cual se deben leer los valores de la tabla de forma inclusiva. Especificado entre comillas.
Si solo se especifica el inicio del rango de filas o columnas, todos los datos a partir de ese punto se recuperarán sin un límite superior en el rango. Del mismo modo, puedes omitir el inicio y especificar solo el final del rango.
Ejemplo (Calculadora)
Si necesitas recuperar registros de la tabla, abre la sección "Calculadora" en los ajustes del bloque e introduce la función con los parámetros requeridos.

Para pasar parámetros como variable del proyecto, antepone el nombre de la variable que contiene la función con project.

Aquí está el ejemplo de la tabla.

El bot responderá de la siguiente manera.

Última actualización