Conceptos

Llamada a Funciones

Capacidad de los LLMs para generar llamadas estructuradas a funciones externas basándose en lenguaje natural, habilitando la integración con APIs, bases de datos y herramientas del mundo real.

seed#function-calling#tool-use#llm#api#json#structured-output

¿Qué es?

Function calling es la capacidad de un LLM para decidir cuándo invocar una función externa y generar los argumentos necesarios en formato estructurado (típicamente JSON). El modelo no ejecuta la función — genera la especificación de la llamada que el sistema anfitrión ejecuta.

Esta capacidad transforma a los LLMs de generadores de texto a orquestadores de acciones.

¿Cómo funciona?

  1. Definición: se le proporciona al modelo un esquema de funciones disponibles (nombre, descripción, parámetros)
  2. Decisión: ante una consulta, el modelo decide si necesita llamar una función o responder directamente
  3. Generación: si decide llamar, genera JSON con el nombre de la función y argumentos
  4. Ejecución: el sistema anfitrión ejecuta la función real
  5. Continuación: el resultado se devuelve al modelo para que formule la respuesta final

Ejemplo de flujo

Usuario: "¿Qué clima hace en Madrid?"

Modelo genera:
{
  "function": "get_weather",
  "arguments": { "city": "Madrid", "units": "celsius" }
}

Sistema ejecuta get_weather("Madrid", "celsius") → "18°C, parcialmente nublado"

Modelo responde: "En Madrid hace 18°C con cielo parcialmente nublado."

Relación con MCP

El Model Context Protocol estandariza cómo los modelos descubren y llaman herramientas. Function calling es el mecanismo subyacente; MCP es el protocolo que lo hace interoperable entre diferentes sistemas.

Patrones de uso

  • Herramientas simples: calculadora, conversión de unidades, fecha/hora
  • APIs externas: clima, búsqueda, bases de datos
  • Acciones del sistema: crear archivos, enviar emails, ejecutar código
  • Llamadas paralelas: múltiples funciones en una sola respuesta
  • Llamadas encadenadas: el resultado de una función alimenta la siguiente

Consideraciones

  • Validación: siempre validar los argumentos generados antes de ejecutar
  • Seguridad: limitar qué funciones están disponibles según el contexto
  • Manejo de errores: el modelo debe poder interpretar y recuperarse de errores
  • Descripciones claras: la calidad de las descripciones de funciones afecta directamente la precisión

¿Por qué importa?

Function calling es el mecanismo que convierte a los LLMs de generadores de texto en agentes que interactúan con el mundo real. Sin él, los modelos solo pueden responder con texto. Con él, pueden consultar bases de datos, llamar APIs y ejecutar acciones concretas.

Referencias

Conceptos