OpenAPI vers function calling IA

Convertissez vos spécifications OpenAPI/Swagger en définitions de function calling IA pour n'importe quel fournisseur

~/openapi-to-functions

Collez une spécification OpenAPI/Swagger pour générer des définitions de function calling IA.

Prend en charge OpenAPI 3.0+ en JSON. Chaque endpoint devient une définition de fonction.

Qu'est-ce qu'un convertisseur OpenAPI vers function calling IA ?

Un convertisseur OpenAPI vers function calling IA transforme vos spécifications d'API REST existantes en définitions d'outils structurées dont les grands modèles de langage ont besoin pour le function calling. Si vous avez une spécification OpenAPI (Swagger) décrivant les endpoints de votre API, cet outil extrait les informations pertinentes — noms d'opérations, descriptions, paramètres et schemas de corps de requête — et les reformate dans la structure JSON requise par les fournisseurs IA comme OpenAI, Anthropic et Google.

Le function calling (également appelé utilisation d'outils) est l'une des fonctionnalités les plus puissantes des modèles IA modernes. Il permet aux modèles d'invoquer des fonctions externes avec des arguments structurés, permettant aux agents IA d'interagir avec des API, des bases de données et des services externes. Cependant, écrire des définitions d'outils à la main est fastidieux et source d'erreurs — surtout lorsque vous avez déjà une spécification d'API complète qui décrit les mêmes informations au format OpenAPI.

Notre convertisseur gratuit élimine ce travail en double. Collez votre spécification OpenAPI, sélectionnez les endpoints à convertir et obtenez des définitions de fonctions correctement formatées pour n'importe quel fournisseur IA. Tout le traitement s'exécute dans votre navigateur — votre spécification d'API ne quitte jamais votre machine.

Comment utiliser ce convertisseur

Convertir votre spécification OpenAPI en définitions de fonctions est simple :

  1. Collez votre spécification OpenAPI — Copiez votre spécification OpenAPI 3.x ou Swagger 2.0 au format JSON ou YAML. L'outil accepte les spécifications complètes ou partielles contenant uniquement les chemins et composants dont vous avez besoin.
  2. Sélectionnez les endpoints à convertir — L'outil liste tous les endpoints découverts avec leurs méthodes HTTP, chemins et descriptions. Sélectionnez ceux que vous souhaitez exposer comme fonctions appelables par l'IA. Tous les endpoints ne conviennent pas au function calling — concentrez-vous sur les endpoints ayant des objectifs clairs et des paramètres bien définis.
  3. Choisissez votre format cible — Sélectionnez OpenAI, Anthropic, Google Gemini ou les trois. Chaque fournisseur a des exigences de format légèrement différentes que le convertisseur gère automatiquement.
  4. Révisez et personnalisez — Les définitions générées incluent des noms de fonctions dérivés de l'operationId ou du chemin, des descriptions issues du résumé de la spécification et des schemas de paramètres issus du corps de requête et des paramètres de requête. Révisez et ajustez les descriptions pour une compréhension optimale par le modèle.
  5. Copiez et intégrez — Copiez le JSON généré et ajoutez-le à votre code d'intégration IA. La sortie est prête à être utilisée directement avec le SDK ou l'API de chaque fournisseur.

Comprendre le mapping OpenAPI vers function calling

La conversion d'OpenAPI en définitions de fonctions implique plusieurs décisions de mapping importantes :

Nommage des fonctions

Le nom de la fonction est dérivé du champ `operationId` de votre spécification OpenAPI. Si aucun operationId n'est présent, l'outil génère un nom à partir de la méthode HTTP et du chemin (par ex., `GET /users/{id}` devient `get_user_by_id`). De bons operationIds dans votre spécification mènent à de meilleurs noms de fonctions que les modèles peuvent comprendre.

Extraction des paramètres

Les paramètres sont collectés à partir de trois sources : les paramètres de chemin (par ex., `/users/{id}`), les paramètres de requête et le schema du corps de requête. Tous sont fusionnés en un seul objet de paramètres plat pour la définition de fonction, car le function calling IA ne distingue pas les emplacements des paramètres. Les paramètres de chemin obligatoires sont automatiquement marqués comme requis dans le schema généré.

Résolution des schemas

Les spécifications OpenAPI utilisent fréquemment `$ref` pour référencer des définitions de schemas partagées dans la section components. Les formats de function calling IA ne supportent pas les références — tous les schemas doivent être autonomes. Le convertisseur résout toutes les références en intégrant le schema référencé en ligne, gérant les références imbriquées de manière récursive. Les références circulaires sont détectées et interrompues avec une limite de profondeur pour empêcher l'expansion infinie.

Enrichissement des descriptions

De bonnes descriptions de fonctions sont essentielles pour que les modèles IA comprennent quand et comment appeler chaque fonction. Le convertisseur utilise les champs `summary` et `description` de la spécification OpenAPI, les combinant en une description claire et concise. Les descriptions de paramètres de la spécification sont préservées pour aider le modèle à générer des valeurs d'arguments correctes.

Patterns courants et bonnes pratiques

Lors de la conversion de spécifications OpenAPI en définitions de function calling, ces patterns produisent les meilleurs résultats :

  • Sélectionnez les endpoints stratégiquement — Chaque endpoint d'API ne devrait pas être une fonction. Concentrez-vous sur les endpoints qui représentent des actions distinctes et utiles. Évitez d'exposer des opérations CRUD de bas niveau lorsque des opérations métier de plus haut niveau sont disponibles.
  • Utilisez des operationIds significatifs — Des operationIds comme `searchProducts` produisent de meilleurs noms de fonctions que des noms auto-générés comme `get_api_v1_products`.
  • Rédigez des descriptions claires — Le modèle s'appuie fortement sur les descriptions de fonctions et de paramètres pour décider quelle fonction appeler et quels arguments passer. Des descriptions vagues mènent à des appels de fonctions incorrects.
  • Simplifiez les schemas complexes — Si votre corps de requête contient plus de 20 champs avec une imbrication profonde, envisagez d'exposer une version simplifiée avec uniquement les champs les plus couramment utilisés. Les schemas complexes perturbent les modèles et entraînent des erreurs.
  • Testez avec des prompts réels — Après avoir généré les définitions de fonctions, testez-les avec des prompts utilisateur réels pour vérifier que le modèle sélectionne la bonne fonction et génère des arguments valides.

Questions Fréquentes

Qu'est-ce qu'OpenAPI et quel est le rapport avec le function calling IA ?

OpenAPI (anciennement Swagger) est un standard de spécification pour décrire les API REST. Il définit les endpoints, paramètres, schemas de requêtes/réponses et méthodes d'authentification dans un format JSON ou YAML lisible par machine. Le function calling IA nécessite des définitions structurées similaires — nom, description et schemas de paramètres. Cet outil fait le pont en extrayant les informations des endpoints de votre spécification OpenAPI et en les convertissant au format de définition d'outil/fonction attendu par les modèles IA.

Quelles versions de la spécification OpenAPI sont prises en charge ?

Cet outil prend en charge les spécifications OpenAPI 3.0.x et 3.1.x, ainsi que Swagger 2.0 (qui est automatiquement converti en format OpenAPI 3.0 en interne). Les formats d'entrée JSON et YAML sont acceptés. Si votre spécification utilise des fonctionnalités spécifiques à 3.1 (comme la compatibilité JSON Schema 2020-12), celles-ci sont gérées correctement. Pour de meilleurs résultats, assurez-vous que votre spécification est valide — utilisez l'éditeur officiel Swagger pour la valider d'abord si vous rencontrez des problèmes.

Comment l'outil gère-t-il les schemas imbriqués et les références $ref ?

Le convertisseur résout entièrement les références $ref en intégrant les schemas référencés dans la définition de fonction. C'est nécessaire car les formats de function calling IA (en particulier Google Gemini) ne supportent pas $ref. Les objets imbriqués sont préservés jusqu'à une profondeur raisonnable, et les références circulaires sont détectées et interrompues pour empêcher les boucles infinies. Les mots-clés de composition complexes (allOf, oneOf, anyOf) sont simplifiés en schemas plats lorsque possible.

Quels formats de sortie sont disponibles pour les fonctions générées ?

L'outil génère des définitions de fonctions dans trois formats : function calling OpenAI (avec le wrapper { type: "function", function: {...} }), utilisation d'outils Anthropic (avec input_schema) et déclarations de fonctions Google Gemini (avec parameters). Vous pouvez générer les trois simultanément ou sélectionner un format cible spécifique. Chaque sortie est du JSON valide prêt à être collé dans vos requêtes API.

Outils associés

Découvrez d'autres outils pour construire des intégrations de function calling IA :

Outils associés