OpenAPI a Function Calling de IA

Convierte especificaciones OpenAPI/Swagger en definiciones de function calling de IA para cualquier proveedor

~/openapi-to-functions

Pega una especificación OpenAPI/Swagger para generar definiciones de function calling de IA.

Compatible con OpenAPI 3.0+ JSON. Cada endpoint se convierte en una definición de función.

¿Qué es un Conversor de OpenAPI a Function Calling de IA?

Un conversor de OpenAPI a function calling de IA transforma tus especificaciones de API REST existentes en las definiciones estructuradas de herramientas que los modelos de lenguaje necesitan para function calling. Si tienes una especificación OpenAPI (Swagger) que describe los endpoints de tu API, esta herramienta extrae la información relevante — nombres de operaciones, descripciones, parámetros y schemas del cuerpo de solicitud — y la reformatea en la estructura JSON que requieren los proveedores de IA como OpenAI, Anthropic y Google.

Function calling (también conocido como tool use) es una de las funcionalidades más potentes de los modelos de IA modernos. Permite a los modelos invocar funciones externas con argumentos estructurados, habilitando a los agentes de IA para interactuar con APIs, bases de datos y servicios externos. Sin embargo, escribir definiciones de herramientas a mano es tedioso y propenso a errores — especialmente cuando ya tienes una especificación completa de API que describe la misma información en formato OpenAPI.

Nuestro conversor gratuito elimina este trabajo duplicado. Pega tu especificación OpenAPI, selecciona qué endpoints convertir y obtén definiciones de funciones correctamente formateadas para cualquier proveedor de IA. Todo el procesamiento se ejecuta en tu navegador — tu especificación de API nunca sale de tu equipo.

Cómo Usar Este Conversor

Convertir tu especificación OpenAPI a definiciones de funciones es sencillo:

  1. Pega tu especificación OpenAPI — Copia tu especificación OpenAPI 3.x o Swagger 2.0 en formato JSON o YAML. La herramienta acepta especificaciones completas o parciales que contengan solo los paths y componentes que necesitas.
  2. Selecciona los endpoints a convertir — La herramienta lista todos los endpoints descubiertos con sus métodos HTTP, rutas y descripciones. Selecciona los que quieras exponer como funciones invocables por IA. No todos los endpoints son adecuados para function calling — céntrate en endpoints con propósitos claros y parámetros bien definidos.
  3. Elige tu formato de destino — Selecciona OpenAI, Anthropic, Google Gemini o los tres. Cada proveedor tiene requisitos de formato ligeramente diferentes que el conversor maneja automáticamente.
  4. Revisa y personaliza — Las definiciones generadas incluyen nombres de funciones derivados del operationId o la ruta, descripciones del resumen de la especificación y schemas de parámetros del cuerpo de solicitud y parámetros de consulta. Revisa y ajusta las descripciones para una comprensión óptima del modelo.
  5. Copia e integra — Copia el JSON generado y añádelo a tu código de integración de IA. La salida está lista para usar con el SDK o la API de cada proveedor directamente.

Entendiendo el Mapeo de OpenAPI a Function Calling

La conversión de OpenAPI a definiciones de funciones implica varias decisiones de mapeo importantes:

Nomenclatura de Funciones

El nombre de la función se deriva del campo `operationId` en tu especificación OpenAPI. Si no hay operationId presente, la herramienta genera un nombre a partir del método HTTP y la ruta (por ejemplo, `GET /users/{id}` se convierte en `get_user_by_id`). Buenos operationIds en tu especificación conducen a mejores nombres de función que los modelos pueden entender.

Extracción de Parámetros

Los parámetros se recopilan de tres fuentes: parámetros de ruta (por ejemplo, `/users/{id}`), parámetros de consulta y el schema del cuerpo de solicitud. Todos se fusionan en un único objeto plano de parámetros para la definición de función, ya que el function calling de IA no distingue entre ubicaciones de parámetros. Los parámetros de ruta obligatorios se marcan automáticamente como requeridos en el schema generado.

Resolución de Schemas

Las especificaciones OpenAPI frecuentemente usan `$ref` para referenciar definiciones de schema compartidas en la sección de componentes. Los formatos de function calling de IA no admiten referencias — todos los schemas deben ser autocontenidos. El conversor resuelve todas las referencias integrando el schema referenciado en línea, manejando referencias anidadas de forma recursiva. Las referencias circulares se detectan y se rompen con un límite de profundidad para prevenir la expansión infinita.

Mejora de Descripciones

Las buenas descripciones de funciones son críticas para que los modelos de IA entiendan cuándo y cómo llamar a cada función. El conversor usa los campos `summary` y `description` de OpenAPI, combinándolos en una descripción clara y concisa. Las descripciones de parámetros de la especificación se preservan para ayudar al modelo a generar valores de argumentos correctos.

Patrones Comunes y Mejores Prácticas

Al convertir especificaciones OpenAPI a definiciones de function calling, estos patrones producen los mejores resultados:

  • Selecciona endpoints estratégicamente — No todos los endpoints de API deberían ser una función. Céntrate en endpoints que representen acciones distintas y útiles. Evita exponer operaciones CRUD de bajo nivel cuando haya operaciones de negocio de nivel superior disponibles.
  • Usa operationIds significativos — operationIds como `searchProducts` producen mejores nombres de función que los generados automáticamente como `get_api_v1_products`.
  • Escribe descripciones claras — El modelo depende en gran medida de las descripciones de funciones y parámetros para decidir qué función llamar y qué argumentos pasar. Las descripciones vagas llevan a llamadas de función incorrectas.
  • Simplifica schemas complejos — Si tu cuerpo de solicitud tiene más de 20 campos con anidamiento profundo, considera exponer una versión simplificada con solo los campos más utilizados. Los schemas complejos confunden a los modelos y llevan a errores.
  • Prueba con prompts reales — Después de generar las definiciones de funciones, pruébalas con prompts reales de usuarios para verificar que el modelo selecciona la función correcta y genera argumentos válidos.

Preguntas Frecuentes

¿Qué es OpenAPI y cómo se relaciona con el function calling de IA?

OpenAPI (anteriormente Swagger) es una especificación estándar para describir APIs REST. Define endpoints, parámetros, schemas de solicitud/respuesta y métodos de autenticación en un formato legible por máquinas en JSON o YAML. El function calling de IA requiere definiciones estructuradas similares — nombre, descripción y schemas de parámetros. Esta herramienta cierra la brecha extrayendo información de endpoints de tu especificación OpenAPI y convirtiéndola al formato de definición de tool/function que esperan los modelos de IA.

¿Qué versiones de la especificación OpenAPI se admiten?

Esta herramienta admite especificaciones OpenAPI 3.0.x y 3.1.x, así como Swagger 2.0 (que se convierte automáticamente al formato OpenAPI 3.0 internamente). Se aceptan formatos de entrada tanto JSON como YAML. Si tu especificación usa funcionalidades específicas de 3.1 (como compatibilidad con JSON Schema 2020-12), se manejan correctamente. Para mejores resultados, asegúrate de que tu especificación sea válida — usa el Editor Swagger oficial para validar primero si encuentras problemas.

¿Cómo maneja la herramienta los schemas anidados y las referencias $ref?

El conversor resuelve completamente las referencias $ref integrando los schemas referenciados en la definición de función. Esto es necesario porque los formatos de function calling de IA (especialmente Google Gemini) no admiten $ref. Los objetos anidados se preservan hasta una profundidad razonable, y las referencias circulares se detectan y se rompen para prevenir bucles infinitos. Las palabras clave de composición complejas (allOf, oneOf, anyOf) se simplifican en schemas planos cuando es posible.

¿Qué formatos de salida están disponibles para las funciones generadas?

La herramienta genera definiciones de funciones en tres formatos: function calling de OpenAI (con el wrapper { type: "function", function: {...} }), tool use de Anthropic (con input_schema) y function declarations de Google Gemini (con parameters). Puedes generar los tres simultáneamente o seleccionar un formato de destino específico. Cada salida es JSON válido listo para pegar en tus solicitudes de API.

Herramientas Relacionadas

Explora más herramientas para construir integraciones de function calling de IA:

Herramientas Relacionadas