What is Function Calling?

    Una capacidad que permite a los modelos de lenguaje generar invocaciones de funciones estructuradas con los argumentos apropiados, permitiéndoles interactuar con herramientas externas y APIs.

    Definition

    Function calling (también llamado uso de herramientas) es una capacidad en la que un modelo de lenguaje genera una salida estructurada que representa una llamada a una función o API externa, incluyendo el nombre de la función y los argumentos correctamente tipados. En lugar de producir respuestas en texto libre, el modelo genera una invocación estructurada — típicamente en JSON — que una aplicación puede analizar y ejecutar contra sistemas reales, devolviendo el resultado al modelo para incorporarlo en su respuesta.

    Esta capacidad transforma a los LLM de generadores de texto conversacional en motores de orquestación que pueden tomar acciones en el mundo real. Un modelo con function calling puede consultar una base de datos, hacer peticiones a una API meteorológica, ejecutar código, enviar correos electrónicos o actualizar un sistema CRM — todo generando la llamada de función apropiada a partir de la solicitud en lenguaje natural del usuario. La capa de aplicación se encarga de la ejecución; el modelo se encarga de comprender la intención y extraer los argumentos.

    El function calling fue popularizado por la API de OpenAI y desde entonces ha sido adoptado en todo el ecosistema de LLM. Modelos open-source como Llama 3, Mistral y Qwen ahora incluyen capacidades de function calling entrenadas mediante instruction tuning en datasets de function calling. La calidad del function calling — seleccionar correctamente la función adecuada, extraer argumentos del lenguaje natural ambiguo y manejar cadenas de herramientas de múltiples pasos — varía significativamente entre modelos y se beneficia enormemente del fine-tuning en esquemas de funciones específicos del dominio.

    Why It Matters

    El function calling es la base de las aplicaciones de IA agéntica. Sin él, los LLM solo pueden generar texto — con él, pueden interactuar con bases de datos, APIs, sistemas de archivos y procesos de negocio. Esta capacidad es lo que permite a los asistentes de IA pasar de responder preguntas a completar tareas en nombre de los usuarios.

    Para aplicaciones empresariales, el function calling permite a los LLM integrarse con sistemas existentes. En lugar de reconstruir los procesos de negocio alrededor de una IA, las organizaciones pueden exponer sus APIs existentes como funciones que el modelo puede invocar. Esto reduce drásticamente el esfuerzo de integración necesario para agregar capacidades de IA a los flujos de trabajo existentes y garantiza que la IA opere dentro de las restricciones de los sistemas establecidos.

    How It Works

    El function calling funciona a través de un protocolo entre la aplicación y el modelo. La aplicación proporciona al modelo una lista de funciones disponibles, cada una descrita por un nombre, una descripción y un esquema JSON para sus parámetros. Cuando la solicitud del usuario requiere una llamada a función, el modelo genera una respuesta estructurada que contiene el nombre de la función y los argumentos en formato JSON.

    La aplicación analiza la llamada a la función, valida los argumentos contra el esquema, ejecuta la función y devuelve el resultado al modelo. El modelo luego incorpora el resultado en su respuesta. Para tareas complejas, este ciclo puede repetirse múltiples veces — el modelo podría llamar a una función de búsqueda, usar los resultados para formular una consulta a la base de datos, y luego resumir la información combinada. Entrenar modelos para function calling implica instruction tuning en datasets de solicitudes en lenguaje natural emparejadas con invocaciones de funciones correctas.

    Example Use Case

    Un bot de mesa de ayuda interno está conectado a tres funciones: search_knowledge_base(query), create_ticket(title, priority, description) y check_ticket_status(ticket_id). Cuando un empleado dice 'No puedo acceder a la VPN y necesito que esto se resuelva urgentemente', el modelo llama a search_knowledge_base('problema de acceso VPN') para encontrar soluciones relevantes, se las presenta al usuario, y si el usuario dice que las soluciones no funcionaron, llama a create_ticket('Fallo de Acceso VPN', 'alta', 'Empleado no puede conectarse a la VPN...') para escalar — todo a través de una conversación natural.

    Key Takeaways

    • El function calling permite a los modelos generar invocaciones de API estructuradas a partir de solicitudes en lenguaje natural.
    • Transforma a los LLM de generadores de texto en motores de orquestación capaces de tomar acciones en el mundo real.
    • La aplicación proporciona los esquemas de funciones; el modelo genera las llamadas; la aplicación las ejecuta.
    • La calidad del function calling varía entre modelos y se beneficia significativamente del fine-tuning específico del dominio.
    • Es la capacidad fundamental para la IA agéntica y los asistentes de IA que usan herramientas.

    How Ertas Helps

    Ertas Studio permite ajustar modelos específicamente para function calling entrenándolos con datasets de lenguaje natural emparejados con invocaciones de herramientas correctas, mejorando la precisión del modelo al seleccionar funciones y extraer argumentos para conjuntos de herramientas específicos del dominio.

    Related Resources

    Ship AI that runs on your users' devices.

    Early bird pricing starts at $14.50/mo — locked in for life. Plans for builders and agencies.