Plan Maestro - Llamada a Herramientas
La llamada a herramientas (Tool Calling), también conocida como llamada a funciones (Function Calling), se refiere a la capacidad de los modelos avanzados para determinar, según el contexto de la conversación, si es necesario invocar herramientas o funciones externas con el fin de obtener información o realizar acciones. El modelo devolverá el nombre de la función a invocar y los parámetros correspondientes, permitiendo que los desarrolladores ejecuten la llamada real y luego devuelvan el resultado al modelo para continuar con el diálogo.
AIChatPlus soporta la función Tool Call en las siguientes plataformas:
- OpenAI
- Claude
- Gemini
- Ollama
- Servidor Cllama (servidor llama.cpp)
Conceptos clave
Definición de Herramienta
La definición de Tool incluye los siguientes campos clave:
- Tipo: Tipo de herramienta, actualmente solo se admite
Function. - Nombre: Nombre de la función, debe estar compuesto por letras de la a-z, A-Z, números del 0-9, guiones bajos o medios, con una longitud máxima de 64.
- Descripción: Descripción de la función, el modelo utilizará esta descripción para determinar cuándo llamar a la función.
- Propiedades: Lista de parámetros de la función, donde cada parámetro contiene atributos como Nombre, Descripción, Tipo, Obligatorio, etc.
Proceso de Llamada a Herramienta
El proceso completo de Tool Call es el siguiente:
- Enviar solicitud: Enviar una solicitud de chat a el modelo que incluya la definición de Herramientas
- Evaluación del modelo: El modelo determina si es necesario invocar una herramienta basándose en el contenido del diálogo.
- Devolución de Tool Calls: Si es necesario llamarlos, el modelo devuelve el nombre de la función y los parámetros a utilizar
- Ejecución de funciones: Los desarrolladores realizan la llamada real a la función basándose en la información devuelta.
- Devolver resultado: Enviar el resultado de la ejecución de la función como un nuevo mensaje al modelo.
- Continuar el diálogo: El modelo genera la respuesta final basándose en el resultado de la función.
Ejemplo de llamada a herramienta de OpenAI
A continuación, utilizaremos OpenAI como ejemplo para demostrar cómo usar la función Tool Call.
1. Definición de Tool
Primero, crea la definición de la Herramienta. En este ejemplo, definimos una función get_delivery_date para obtener el tiempo de entrega de un paquete de mensajería.
2. Definir parámetros de Tool
Agregar Properties (parámetros) al Tool. En este ejemplo, se añade un parámetro order_id, de tipo string, configurado como obligatorio.
3. Configuración de Opciones
Crear el nodo Opciones de Solicitud de Chat OpenAI, configurar la clave API y el Modelo, y conectar el arreglo de Herramientas a las Opciones.
4. Crear Mensajes
Crear mensajes de usuario para consultar sobre paquetes de mensajería.
5. Enviar solicitud y manejar Tool Call
Crear el nodo Send OpenAI Chat Request In World y vincular el evento On Message Finished. En el callback del evento, obtener el arreglo ToolCalls desde el Payload.
Cuando el modelo decide invocar una herramienta, el array ToolCalls no está vacío. Recorre el array para obtener la información de cada Tool Call:
- Id: Identificador único de Tool Call
- FunctionName: Nombre de la función a llamar
- FunctionArguments: Argumentos de función (formato de cadena JSON)
6. Ejecutar la función y devolver el resultado
Ejecuta la lógica de la función correspondiente según FunctionName (en este caso, simulando obtener el tiempo de entrega de un paquete postal) y luego devuelve el resultado como un mensaje de tipo ToolCallResult al modelo.
Para crear un nuevo Mensaje, es necesario configurar:
- Rol: Establecido como
Herramienta - Contenido: Resultado de la ejecución de la función
- ToolCallResults: Agregar un
FAIChatPlus_ChatRequestToolCallResult, configurar el Id (utilizar el Tool Call Id anterior), FunctionName y FunctionResult.
7. Continuar la conversación
Agrega el mensaje que contiene el resultado de ToolCallResult al historial de mensajes y envía la solicitud nuevamente. El modelo generará una respuesta final en lenguaje natural basada en los resultados devueltos por la función.
9. Plan maestro completo
El esquema completo de Tool Call luce así:
10. Resultados de la ejecución
Ejecuta el esquema y verás que el modelo devuelve una respuesta en lenguaje natural con la información del clima.
Uso avanzado
Herramientas múltiples
Puedes definir múltiples Tools al mismo tiempo, y el modelo seleccionará cuál o cuáles funciones llamar según sea necesario.
Tipos de parámetros complejos
El parámetro Tool admite varios tipos, y se pueden agregar definiciones de parámetros más complejas, como tipos de enumeración, a través de los campos ExtraJsonString o ExtraJsonObject:
Otras plataformas
El uso de Tool Call en Claude, Gemini, Ollama y CllamaServer es similar al de OpenAI, solo hay que reemplazar los nodos correspondientes de Request y Options. Las estructuras de datos principales en cada plataforma (como FAIChatPlus_ChatRequestTool, FAIChatPlus_ChatResponseToolCall, etc.) son universales.
Original: https://wiki.disenone.site/es
This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.
Visitors. Total Visits. Page Visits.
Este post está traducido usando ChatGPT. Por favor, envía tus comentarios en retroalimentaciónSeñalar cualquier omisión en el indicado.








