Puntos clave
Novita AI ha presentado Llama 4 Scout. Además, esta versión es compatible completamente con function calling.
Si quieres probar su rendimiento, inicia una prueba gratuita directamente en Novita AI Playground.

El function calling permite a los LLM, como Llama 4 Scout, realizar tareas del mundo real integrándose con APIs y herramientas externas, transformando comandos en lenguaje natural en resultados accionables.
¿Qué es Function Calling?
El function calling representa un avance fundamental en las capacidades de los modelos de lenguaje grandes (LLM), permitiéndoles interactuar con herramientas externas, APIs y fuentes de datos. Al convertir indicaciones en lenguaje natural en llamadas a funciones estructuradas, los LLM pueden ejecutar acciones del mundo real, recuperar información dinámica y realizar cálculos complejos más allá de sus capacidades inherentes de generación de texto.
Definiendo Function Calling
El function calling es un método estructurado que permite a los LLM interactuar con sistemas externos generando comandos ejecutables basados en consultas de usuario. A diferencia de las salidas tradicionales de los LLM, limitadas a la generación de texto, el function calling permite a los modelos activar funciones predefinidas con parámetros específicos, ejecutar esas funciones mediante código externo e integrar los resultados en respuestas coherentes.
https://www.youtube.com/watch?v=i-oHvHejdsc&t=429s
¿Cómo funciona Function Calling?
El function calling implica un proceso estructurado en el que un modelo de lenguaje grande (LLM) interpreta las indicaciones del usuario para determinar qué función predefinida ejecutar y con qué parámetros. Aquí tienes una visión general simplificada:
- Indicación del usuario: El usuario envía una consulta al sistema.
- Interpretación del LLM: El LLM analiza la indicación para identificar la función y los parámetros adecuados.
- Ejecución de la función: El sistema ejecuta la función con los parámetros proporcionados.
- Generación de respuesta: El resultado se retroalimenta al LLM, que genera una respuesta final incorporando la salida.

Function Calling vs. RAG
| Aspecto | Function Calling | Generación Aumentada por Recuperación (RAG) |
|---|---|---|
| Definición | Llama a funciones externas (APIs, bases de datos) para tareas en tiempo real. | Recupera y sintetiza información de fuentes externas para generar respuestas. |
| Caso de uso | Consultas a bases de datos, solicitudes a APIs, herramientas externas (ej. pagos). | Sistemas de preguntas y respuestas que recuperan datos para generar respuestas. |
| Ventajas | - Tareas en tiempo real - Interactúa con sistemas externos - Sistemas modulares |
- Accede a grandes conocimientos - Eficiente para consultas complejas - Ideal para datos actualizados |
| Propósito | Invoca sistemas o servicios externos. | Mejora la generación usando conocimiento recuperado. |
| Implementación | Llamadas externas predefinidas (ej. APIs). | Recupera información durante el proceso generativo. |
| Flexibilidad | Más flexible para interacciones en tiempo real. | Aprovecha conocimiento externo/interno para la generación. |
Cómo usar Function Calling de Llama 4 Scout a través de Novita AI
Novita AI ha lanzado descripciones de capacidad compatibles para cada LLM, que puedes ver directamente en la consola y en la documentación.


1. Inicializar el cliente
Primero, debes inicializar el cliente con tu clave de API de Novita.
from openai import OpenAI
import json
client = OpenAI(
base_url="https://api.novita.ai/v3/openai",
# Obtén la clave de API de Novita AI desde: https://novita.ai/settings/key-management.
api_key="<TU Clave de API de Novita AI>",
)
model = "meta-llama/llama-4-scout-17b-16e-instruct"
- Definir la función a llamar
A continuación, define la función de Python que el modelo puede llamar. En este ejemplo, es una función para obtener información del clima.
# Función de ejemplo para simular la obtención de datos del clima.
def get_weather(location):
"""Recupera el clima actual para una ubicación determinada."""
print("Llamando a la función get_weather con ubicación: ", location)
# En una aplicación real, aquí llamarías a una API de clima externa.
# Este es un ejemplo simplificado que devuelve datos fijos.
return json.dumps({"location": location, "temperature": "60 grados Fahrenheit"})
2. Construir la solicitud a la API con herramientas y mensaje de usuario
Ahora, crea la solicitud a la API al endpoint de Novita. Esta solicitud incluye el parámetro tools, que define las funciones que el modelo puede usar, y el mensaje del usuario.
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Obtener el clima de una ubicación, el usuario debe proporcionar una ubicación primero",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "La ciudad y estado, ej. San Francisco, CA",
}
},
"required": ["location"]
},
}
},
]
messages = [
{
"role": "user",
"content": "¿Cuál es el clima en San Francisco?"
}
]
# Enviemos la solicitud e imprimamos la respuesta.
response = client.chat.completions.create(
model=model,
messages=messages,
tools=tools,
)
# Por favor, verifica si la respuesta contiene tool_calls si estás en producción.
tool_call = response.choices[0].message.tool_calls[0]
print(tool_call.model_dump())
3. Salida
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
4. Responder con el resultado de la llamada a función y obtener la respuesta final
El siguiente paso es procesar la llamada a la función, ejecutar la función get_weather y enviar el resultado de vuelta al modelo para generar la respuesta final al usuario.
# Asegúrate de que tool_call esté definido desde el paso anterior
if tool_call:
# Extiende el historial de la conversación con el mensaje de llamada a herramienta del asistente
messages.append(response.choices[0].message)
function_name = tool_call.function.name
if function_name == "get_weather":
function_args = json.loads(tool_call.function.arguments)
# Ejecuta la función y obtén la respuesta
function_response = get_weather(
location=function_args.get("location"))
# Añade la respuesta de la función a los mensajes
messages.append(
{
"tool_call_id": tool_call.id,
"role": "tool",
"content": function_response,
}
)
# Obtén la respuesta final del modelo, ahora con el resultado de la función
answer_response = client.chat.completions.create(
model=model,
messages=messages,
# Nota: No incluyas el parámetro tools aquí.
)
print(answer_response.choices[0].message)
5. Salida
{'id': '0', 'function': {'arguments': '{"location": "San Francisco, CA"}', 'name': 'get_weather'}, 'type': 'function'}
Con Llama 4 Scout y Novita AI, el function calling redefine las aplicaciones de los LLM, ofreciendo soluciones dinámicas y en tiempo real para las necesidades modernas.
Preguntas frecuentes
¿Qué es function calling?
Permite que los LLM activen herramientas externas o APIs para realizar tareas y recuperar datos.
¿Cómo funciona Llama 4 Scout con function calling?
Llama 4 Scout simplifica las integraciones de sistemas en tiempo real a través de Novita AI.
¿Es function calling adecuado para necesidades en tiempo real?
Sí, es perfecto para tareas como llamadas a APIs o consultas de datos dinámicos.
Novita AI es la plataforma integral en la nube que impulsa tus ambiciones de IA. APIs integradas, sin servidor, instancias GPU: las herramientas rentables que necesitas. Elimina la infraestructura, comienza gratis y convierte tu visión de IA en realidad.
