0Pricing
AI Prompt Engineering · Lección

Llamadas a funciones e integración de API

Domine cómo pedir a los LLM que llamen a funciones o API externas para permitirles interactuar con sistemas del mundo real.

Llamadas a funciones e integración de API es una lección gratuita de AI Prompt Engineering en CoddyKit. Esta es la lección 1 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de AI Prompt Engineering, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de AI Prompt Engineering incluye 3 lecciones en total.

Llamar a herramientas externas

Los LLM son potentes, pero viven principalmente en un mundo de texto. ¿Qué ocurre si necesitan información del mundo real o deben realizar acciones?

Las llamadas a funciones permiten que los LLM interactúen con herramientas y API externas. Esto tiende un puente entre el lenguaje y la acción, y permite a la IA:

  • Obtener información actualizada (el tiempo, cotizaciones bursátiles)
  • Realizar acciones (enviar correos electrónicos, reservar citas)
  • Conectarse a bases de datos o herramientas personalizadas

Esto abre nuevas posibilidades para los sistemas de IA.

El papel del LLM: sugerir llamadas

Al habilitar las llamadas a funciones, proporciona al LLM descripciones de las herramientas (funciones) disponibles.

En lugar de responder directamente, el LLM puede decidir que una herramienta podría ser útil. A continuación, genera una «sugerencia» estructurada para una llamada a función, que incluye el nombre de la función y sus argumentos.

Importante: El LLM no ejecuta la función por sí mismo. Solo indica a su aplicación qué función debe llamar y con qué entradas.

Definir sus herramientas

Para utilizar las llamadas a funciones, debe definir sus herramientas (funciones) de una manera que el LLM pueda comprender. Por lo general, esto implica proporcionar:

  • Un nombre para la función (por ejemplo, get_current_weather)
  • Una descripción de lo que hace (fundamental para que el LLM elija correctamente)
  • Los parámetros que acepta, incluidos sus tipos y descripciones (por ejemplo, location: string)

Este «esquema» proporciona al LLM toda la información que necesita para sugerir una llamada válida.

Definición de una herramienta meteorológica

A continuación se muestra una definición conceptual en Python para una herramienta meteorológica. Observe la claridad de la descripción y los parámetros. Esto es lo que expondría al LLM.

Esta función representa la herramienta externa que un LLM «llamaría» conceptualmente.

def get_current_weather(location: str, unit: str = "celsius"):
    """
    Get the current weather in a given location.
    Args:
        location (str): The city and state, e.g. "London, UK"
        unit (str): The unit of temperature, "celsius" or "fahrenheit"
    Returns:
        dict: Weather information.
    """
    # In a real app, this would call a weather API
    if location == "London, UK":
        return {"temperature": "15", "unit": unit, "forecast": "cloudy"}
    elif location == "New York, USA":
        return {"temperature": "20", "unit": unit, "forecast": "sunny"}
    else:
        return {"temperature": "N/A", "unit": unit, "forecast": "unknown"}

Crear prompts para herramientas

Para animar al LLM a utilizar sus herramientas, su prompt debe indicar claramente la intención del usuario. A continuación, el LLM decide si una herramienta puede ser útil.

No debe indicar explícitamente al LLM «llame a get_weather». En su lugar, formule una pregunta que lo sugiera:

  • «¿Qué tiempo hace en Londres?»
  • «¿Puede reservarme una reunión para mañana?»

El LLM, equipado con las descripciones de las herramientas, inferirá que es necesaria una llamada a función.

Sugerencia de llamada del LLM

Cuando el LLM decide utilizar una herramienta, no le proporciona una respuesta directa. En su lugar, devuelve un objeto estructurado, normalmente en formato JSON, que indica la función que se debe llamar y sus argumentos.

A continuación, su aplicación analiza esta salida.

Esto es lo que un LLM podría sugerir si se le pregunta «¿Qué tiempo hace en Londres?»:

{
  "tool_calls": [
    {
      "id": "call_abc123",
      "function": {
        "name": "get_current_weather",
        "arguments": "{\"location\": \"London, UK\", \"unit\": \"celsius\"}"
      },
      "type": "function"
    }
  ]
}

Su aplicación ejecuta la herramienta

Al recibir la sugerencia de llamada a función del LLM, su aplicación toma el control:

  1. Identifica la función solicitada (por ejemplo, get_current_weather).
  2. Extrae los argumentos (por ejemplo, "London, UK").
  3. Ejecuta la función real de Python (o realiza la llamada a la API) dentro del entorno de su aplicación.

Aquí es donde se lleva a cabo la acción del «mundo real», fuera del LLM.

El LLM procesa la salida de la herramienta

Después de que su aplicación ejecuta la función, recibe un resultado (por ejemplo, {"temperature": "15", ...}).

A continuación, este resultado se devuelve al LLM junto con el historial original de la conversación y la solicitud de llamada a función.

El LLM utiliza entonces esta nueva información para generar una respuesta en lenguaje natural a la consulta original del usuario.

Interacción de principio a fin

Veamos el proceso completo. Este ejemplo muestra el flujo en el que la pregunta de un usuario hace que un LLM sugiera una llamada a función, la aplicación la ejecute y el LLM proporcione después una respuesta final.

Se trata de una representación simplificada del ciclo de interacción.

def get_current_weather(location, unit="celsius"):
    if location == "London, UK":
        return {"temp": "15", "unit": unit, "forecast": "cloudy"}
    return {"temp": "N/A", "unit": unit, "forecast": "unknown"}

def simulate_llm_response(user_query):
    # LLM 'thinks' and decides to call a tool
    if "weather in London" in user_query:
        return {
            "type": "tool_call",
            "function": "get_current_weather",
            "args": {"location": "London, UK"}
        }
    return {"type": "text", "content": "I cannot help with that."}

def simulate_llm_final_response(tool_output):
    # LLM processes tool output and gives natural language
    temp = tool_output.get("temp", "N/A")
    forecast = tool_output.get("forecast", "unknown")
    return f"The weather in London is {temp} degrees and {forecast}."

def main():
    user_input = "What is the weather in London, UK?"
    print(f"User: {user_input}")

    llm_output = simulate_llm_response(user_input)

    if llm_output["type"] == "tool_call":
        func_name = llm_output["function"]
        func_args = llm_output["args"]
        print(f"LLM suggested calling: {func_name}({func_args})")

        # Execute the function
        tool_result = get_current_weather(**func_args)
        print(f"Tool output: {tool_result}")

        # Feed result back to LLM
        final_answer = simulate_llm_final_response(tool_result)
        print(f"LLM's final answer: {final_answer}")
    else:
        print(f"LLM: {llm_output['content']}")

if __name__ == "__main__":
    main()

Comprobación de las llamadas a funciones

Imagine que un LLM devuelve una solicitud de llamada a función. ¿Cuál es el siguiente paso inmediato que debe realizar su aplicación?

Recapitulación: herramientas en acción

En esta lección, hemos explorado cómo los LLM pueden interactuar con el mundo real mediante las llamadas a funciones y la integración de API.

Hemos aprendido lo siguiente:

  • Usted define herramientas (funciones) con descripciones y parámetros.
  • El LLM sugiere qué herramienta llamar y con qué argumentos.
  • Su aplicación ejecuta la herramienta real y devuelve el resultado.
  • A continuación, el LLM utiliza el resultado para formular una respuesta final fundamentada.

Esta potente técnica permite que los LLM vayan más allá de la mera generación de texto, ya que les permite realizar acciones y obtener información actualizada.

Preguntas frecuentes

¿La lección «Llamadas a funciones e integración de API» es gratis?

Sí — el texto completo de «Llamadas a funciones e integración de API» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de AI Prompt Engineering, actualiza a CoddyKit PRO. El curso de AI Prompt Engineering incluye 3 lecciones en total.

¿Qué aprenderé en «Llamadas a funciones e integración de API»?

Domine cómo pedir a los LLM que llamen a funciones o API externas para permitirles interactuar con sistemas del mundo real. Practicas AI Prompt Engineering con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar AI Prompt Engineering?

No se requiere experiencia previa. AI Prompt Engineering en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 3.

¿Cuánto tiempo toma la lección «Llamadas a funciones e integración de API»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de AI Prompt Engineering?

Sí. Cada lección de AI Prompt Engineering incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Llamadas a funciones e integración de API
  2. Sistemas de prompting multiagente
  3. Herramientas y plugins personalizados para LLM
← Volver a AI Prompt Engineering