Función de llamada

La llamada de funciones permite que los modelos de idiomas utilicen herramientas externas al generar salidas estructuradas que especifiquen las llamadas de funciones, lo que les permite interactuar con las APIs y otros sistemas.

La llamada a funciones es una técnica que permite a los modelos de lenguaje grandes (LLMs) interactuar con herramientas externas y APIs. En lugar de simplemente generar texto, el LLM se entrena para generar datos estructurados, como JSON, que especifica una función a ser llamada y sus argumentos. Esto permite al LLM delegar tareas, recuperar información y realizar acciones más allá de sus capacidades inherentes de generación de texto. El proceso típicamente implica definir un conjunto de funciones con descripciones y esquemas de entrada/salida, que el LLM puede usar para generar llamadas apropiadas. Esto expande la utilidad de los LLMs, permitiendo que se integren en flujos de trabajo y aplicaciones que requieren datos o acciones externas.

        graph LR
  Center["Función de llamada"]:::main
  Pre_logic["logic"]:::pre --> Center
  click Pre_logic "/terms/logic"
  Rel_api["api"]:::related -.-> Center
  click Rel_api "/terms/api"
  Rel_chain_of_thought["chain-of-thought"]:::related -.-> Center
  click Rel_chain_of_thought "/terms/chain-of-thought"
  Rel_function["function"]:::related -.-> Center
  click Rel_function "/terms/function"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧠 Prueba de conocimiento

1 / 3

🧒 Explícalo como si tuviera 5 años

Es como pedirle a un asistente súper inteligente que busque algo en un libro específico (la función) y te diga la respuesta, en lugar de simplemente adivinar.

🤓 Expert Deep Dive

La llamada a funciones, en el contexto de los LLM, representa un cambio de paradigma de la generación de texto puro a un comportamiento de agente, permitiendo que los LLM actúen como orquestadores de recursos computacionales externos. Arquitectónicamente, se basa en la capacidad del LLM para realizar predicciones estructuradas, generando un esquema predefinido que representa las firmas y argumentos de las funciones. Este esquema suele ser definido por el desarrollador, proporcionando al LLM un "conjunto de herramientas" que puede utilizar. El proceso implica que el LLM analice la consulta en lenguaje natural del usuario, identifique la intención y la mapee a las funciones disponibles. Luego, genera un objeto JSON que se ajusta al esquema, especificando el nombre de la función y los argumentos, a menudo derivados de la extracción de entidades y el llenado de ranuras del prompt. Una capa de ejecución separada (el "ejecutor de herramientas" o "framework de agente") intercepta este JSON, lo valida e invoca la API externa o el código correspondiente. El valor de retorno de la herramienta se reintroduce en el contexto del LLM, lo que le permite sintetizar una respuesta final o encadenar más llamadas a funciones. Este mecanismo mejora significativamente la utilidad de los LLM al basar sus respuestas en datos en tiempo real y permitir operaciones complejas de varios pasos. Las desventajas incluyen el potencial de ataques de inyección de prompts dirigidos al mecanismo de llamada a funciones, la complejidad de gestionar las definiciones de herramientas y el manejo de errores, y la sobrecarga computacional del bucle de ejecución. Asegurar que el LLM mapee con precisión la intención a la función y los argumentos correctos, especialmente con herramientas numerosas o con nombres ambiguos, es un desafío crítico. Se emplean técnicas como el aprendizaje few-shot y el fine-tuning para mejorar la precisión de este mapeo.

🔗 Términos relacionados

Requisitos previos:

📚 Fuentes