API OpenAI Responses

Portrait de Panida (Chompoo) Nimnual
8 min read
Résumez cela avec l'IA

OpenAI a annoncé la sortie de l'API Responses, son interface la plus avancée et la plus polyvalente pour la création d'applications d'IA intelligentes. Prenant en charge à la fois les entrées de texte et d'images avec des sorties de texte enrichi, cette API permet des conversations dynamiques et statiques qui mémorisent et s'appuient sur les interactions précédentes, rendant les expériences d'IA plus naturelles et plus sensibles au contexte. Elle offre également de puissantes fonctionnalités grâce à des outils intégrés tels que la recherche sur le Web, la recherche de fichiers, l'interpréteur de code, etc., tout en permettant une intégration transparente avec des systèmes externes via l'appel de fonctions. Sa conception événementielle fournit des mises à jour claires et structurées à chaque étape, ce qui facilite plus que jamais la création les workflows IA sophistiqués en plusieurs étapes.

Les principales caractéristiques sont les suivantes :

  • Conversations avec état via l'ID de réponse précédente
  • Outils intégrés tels que recherche Web, recherche de fichiers, interpréteur de code, MCP, etc.
  • Accès à des modèles avancés disponibles en exclusivité, tels que o1-pro
  • Prise en charge améliorée des modèles de raisonnement avec des résumés de raisonnement et une gestion efficace du contexte grâce à l'identifiant de la réponse précédente ou aux éléments de raisonnement cryptés.
  • Des sorties claires, basées sur les événements, qui simplifient l'intégration et le contrôle

Alors que l'API Chat Completions reste entièrement prise en charge et largement utilisée, OpenAI prévoit de retirer l'API Assistants au cours du premier semestre 2026.

Pour faciliter l'adoption de l'API Responses, deux nouveaux Snaps ont été introduits :

Complétions de chat OpenAI ⇒ Génération d'API de réponses OpenAI

Appel de l'outil OpenAI ⇒ Appel de l'outil API OpenAI Responses

Les deux Snaps sont entièrement compatibles avec les Snaps utilitaires en amont et en aval existants, notamment OpenAI Prompt Generator, OpenAI Multimodal Content Generator, tous les générateurs de fonctions (Multi-Pipeline, OpenAPI et APIM), Function Result Generator et Message Appender. Cela permet de réutiliser les pipelines existants et les modèles de développement familiers tout en bénéficiant des fonctionnalités avancées de l'API Responses.

Génération de l'API OpenAI Responses

Le Snap OpenAI Responses API Generation est conçu pour prendre en charge la toute dernière API Responses d'OpenAI, permettant des interactions plus structurées, plus riches et améliorées par des outils. Bien qu'il s'appuie sur l'interface familière du Snap Chat Completions, plusieurs nouvelles propriétés et mises à jour comportementales ont été introduites afin de s'aligner sur les capacités de l'API Responses.

Nouvelles propriétés

  • Message : entrée envoyée au LLM. Ce champ remplace l'ancien Utiliser la charge utile du message, Charge utile du messageet Propriétés d'invite dans le Snap OpenAI Chat Completions, en les consolidant en une seule entrée. Cela supprime l'ambiguïté entre « prompt » en tant que texte brut et en tant que modèle, et prend en charge à la fois les formats chaîne et liste.
  • ID de réponse précédente : ID unique de la réponse précédente au modèle. Utilisez-le pour créer des conversations à plusieurs tours.
  • Paramètres du modèle
    • Résumé du raisonnement : pour les modèles de raisonnement, fournit un résumé du processus de raisonnement du modèle, facilitant le débogage et la compréhension du processus de raisonnement du modèle. La propriété peut être none, auto ou detailed.
  • Configurations avancées des invites
    • Instructions : s'appliquent uniquement à la réponse actuelle, ce qui les rend utiles pour échanger dynamiquement des instructions entre les tours. Pour conserver les instructions d'un tour à l'autre lors de l'utilisation de previous_response_id, il convient d'utiliser le message développeur dans le Snap OpenAI Prompt Generator.
  • Configurations avancées des réponses
    • Troncature : définit comment traiter les entrées qui dépassent la fenêtre contextuelle du modèle. L'option « auto » permet au modèle de tronquer le milieu de la conversation pour l'adapter, tandis que l'option « disabled » (désactivée, par défaut) entraîne l'échec de la requête avec une erreur 400 si la limite contextuelle est dépassée.
    • Inclure le contenu crypté du raisonnement : inclut une version cryptée des jetons de raisonnement dans la sortie, ce qui permet aux éléments de raisonnement de persister lorsque le magasin est désactivé.
  • Outils intégrés
    • Recherche sur le Web : Permet au modèle d'accéder à des informations actualisées sur Internet afin de répondre à des requêtes qui dépassent le cadre de ses données d'entraînement.
      • Type de recherche Web
      • Taille du contexte de recherche
      • Localisation de l'utilisateur : localisation approximative de l'utilisateur, y compris la ville, la région, le pays et le fuseau horaire, afin de fournir des résultats de recherche plus pertinents.
    • Recherche de fichiers : Permet au modèle de récupérer des informations à partir de documents ou de fichiers.
      • Identifiants de magasin vectoriel
      • Nombre maximal de résultats
      • Inclure les résultats de recherche : détermine si les résultats de recherche bruts sont inclus dans la réponse à des fins de transparence ou de débogage.
      • Classement
      • Seuil de score 
      • Filtres : filtres supplémentaires basés sur les métadonnées pour affiner les résultats de recherche. Pour plus d'informations sur l'utilisation des filtres, consultez la section Filtrage des métadonnées.
  • Configuration avancée des outils
    • Choix de l'outil : une nouvelle option, SPÉCIFIER UN OUTIL INTÉGRÉ, permet de spécifier que le modèle doit utiliser un outil intégré pour générer une réponse.

Notez que le Snap Génération API OpenAI Responses ne prend pas en charge les propriétés de nombre de réponses ou de séquences d'arrêt, car celles-ci ne sont pas disponibles dans l'API Responses. De plus, le nom d'utilisateur du message, qui peut être spécifié dans le Snap Générateur de invites, n'est pas pris en charge et sera ignoré s'il est inclus.

Réponse type de l'API Chat Completions vs Responses

API de complétion de chat

API de réponses

L'API Responses introduit unestructure de sortie événementielle qui améliore considérablement la manière dont les développeurs créent et gèrent les applications basées sur l'IA par rapport à l'API Chat Completions traditionnelle. Alors que l'API Chat Completions renvoie une seule réponse en texte brut dans les choices , l'API Responses fournit un tableau contenant une séquence d'éléments d'événements sémantiques, tels que raisonnement, message, appel_de_fonction, appel_recherche_web, etc., qui délimitent clairement chaque étape du raisonnement et des actions du modèle. Cette approche structurée permet aux développeurs de suivre et d'interpréter facilement le comportement du modèle, ce qui facilite une gestion plus robuste des erreurs et une intégration plus fluide avec les outils externes. De plus, la réponse de l'API Responses inclut les paramètres du modèle, fournissant ainsi un contexte supplémentaire aux développeurs.

Exemples de pipelines

Cet exemple montre comment utiliser l'outil de recherche Web intégré. Dans ce pipeline, la localisation de l'utilisateur est spécifiée afin de garantir que la recherche Web cible des résultats géographiques pertinents.

Invite système : Vous êtes un assistant aimable et serviable. Veuillez utiliser votre jugement pour décider s'il convient ou non d'utiliser les outils appropriés pour répondre aux questions de l'utilisateur.

Question : Pouvez-vous me recommander deux bons restaurants de sushis près de chez moi ?

Sortie :

En conséquence, le résultat contient à la fois une requête de recherche sur le Web et un message. Le modèle utilise la recherche sur le Web pour trouver et fournir des recommandations basées sur les données actuelles, adaptées à l'emplacement spécifié.

Cet exemple montre comment l'outil de recherche de fichiers intégré permet au modèle de récupérer des informations à partir de documents stockés dans un magasin vectoriel lors de la génération de réponses. Dans ce cas, le fichier wildfire_stats.pdf a été téléchargé. Vous pouvez créer et gérer des magasins vectoriels via lapage de gestion du magasin vectoriel.

Question : Quel est le nombre d'incendies de forêt fédéraux en 2018 ?

Sortie :

Le tableau de sortie contient un événement file_search_call , qui inclut les résultats de recherche dans son results . Ces résultats fournissent le texte correspondant, les métadonnées et les scores de pertinence provenant du magasin vectoriel. Ils sont suivis d'un message , dans lequel le modèle utilise les informations récupérées pour générer une réponse fondée. La présence de résultats détaillés dans le fichier file_search_call est activée en sélectionnant l'option Inclure les résultats de la recherche de fichiers.

Appel de l'outil API OpenAI Responses

L'outil OpenAI Responses API Tool Calling Snap est conçu pour prendre en charge l'appel de fonctions à l'aide de l'API Responses d'OpenAI. Il fonctionne de manière similaire à l'outil OpenAI Tool Calling Snap (qui utilise l'API Chat Completions), mais est adapté à la structure de réponse événementielle de l'API Responses et prend en charge les interactions avec état via l'ID de réponse précédente. Bien qu'il partage une grande partie de sa configuration avec l'outil Responses API Generation Snap, il est spécialement conçu pour les workflows des appels de fonction.

Les modèles de pipeline d'agents LLM existants et les Snaps utilitaires, tels que le générateur de fonctions et le générateur de résultats de fonctions, peuvent continuer à être utilisés avec ce Snap, tout comme avec le Snap d'appel d'outils OpenAI d'origine. La principale différence réside dans l'adaptation de la configuration du Snap pour prendre en charge la sortie événementielle de l'API Responses, en particulier la fonction structurée function_call dans l'élément tableau output .

L'outil API Responses API Tool Calling Snap propose deux vues de sortie, similaires à celles de l'outil OpenAI Tool Calling Snap, avec des améliorations visant à simplifier la création de pipelines d'agents et à prendre en charge les interactions avec état à l'aide de l'ID de réponse précédent :

  • Vue de la réponse modèle : Réponse API complète, y compris les champs supplémentaires :
    • messages : une liste vide si le stockage est activé, ou l'historique complet des messages (y compris le contenu des messages et la réponse du modèle) s'il est désactivé (similaire à l'outil OpenAI Calling Snap). Lorsque vous utilisez les workflows avec état, l'historique des messages n'est pas nécessaire, car l'ID de la réponse précédente est utilisé pour conserver le contexte.
    • has_tool_call : booléen indiquant si la réponse comprend un appel d'outil. Étant donné que l'API Responses n'inclut plus le  champ finish_reason: « tool_calls »  , ce nouveau champ facilite la création de conditions d'arrêt dans le Snap pipeloop au sein du pipeline du pilote d'agent.
  • Vue des appels d'outils : affiche la liste des appels de fonctions effectués par le modèle pendant l'interaction.

Affichage des outils Appel des conversations terminées par rapport aux réponses API

Utilisations id comme identifiant d'appel de fonction lors du renvoi du résultat de la fonction.

Propriétés d'appel d'outil (nom, arguments) sont imbriquées dans la fonction fonction .

Chaque appel d'outil comprend :
id: l'ID d'événement unique
call_id: utilisé pour référencer l'appel de fonction lors du renvoi du résultat

La structure de l'appel d'outil est plate — nom et arguments sont des champs de niveau supérieur.

Construire des pipelines d'agents LLM

Pour créer des pipelines d'agents LLM avec l'outil Snap d'appel d'API OpenAI Responses, vous pouvez réutiliser le même modèle de pipeline d'agent que celui décrit dans la section Présentation des Snaps d'appel d'outils et des pipelines d'agents LLM. Seules des modifications mineures de configuration sont nécessaires pour prendre en charge l'API Responses.

Pipeline des agents pilotes

Le principal changement concerne la configurationPipeLoop Snap , où la condition d'arrêt doit désormais vérifier la présence de l'événement champ has_tool_call , car l'API Responses n'inclut plus le champ finish_reason:« tool_calls ».

Pipeline des travailleurs agents

Mappage des champs

Un Mapper Snap est utilisé pour préparer les champs associés pour l'OpenAI Responses API Tool Calling Snap.

Appel de l'outil API OpenAI Responses

Les principaux changements concernent la configuration de ce Snap afin de prendre en charge les interactions avec état de l'API Responses. Deux approches sont prises en charge :

Option 1 : Utiliser Store (recommandé)
Exploite la gestion d'état intégrée de l'API Responses.

  • Activer le magasin
  • Utiliser l'identifiant de la réponse précédente
  • Envoyez uniquement les résultats des appels de fonction comme messages d'entrée pour le tour suivant. (Les messages dans la sortie du Snap sera un tableau vide, vous pourrez donc toujours l'utiliser dans le Snap Message Appender pour collecter les résultats de l'outil.)

Option 2 : conserver l'historique des conversations dans l'API Pipeline
. Similaire à l'approche utilisée dans l'API Chat Completions.

  • Désactiver le magasin
  • Inclure l'historique complet des messages dans l'entrée (messages dans la sortie du Snap contient l'historique des messages)
  • (Facultatif) Activez l'option Inclure le contenu crypté du raisonnement (pour les modèles de raisonnement) afin de préserver efficacement le contexte du raisonnement.

Générateur de résultats de fonctions OpenAI

Comme expliqué dans la section « Vue d'appel d'outil des API Chat Completions vs Responses », l'API Responses comprend à la fois une id et un call_id. Vous devez utiliser l' call_id pour construire le résultat de l'appel de fonction lorsque vous le renvoyez au modèle.

Conclusion

L'API OpenAI Responses rend les workflows d'IA les workflows et plus adaptables, grâce à des interactions avec état et des outils intégrés. Les Snaps OpenAI Responses API Generation et Tool Calling de SnapLogic intègrent directement ces fonctionnalités dans vos pipelines, vous permettant ainsi de tirer parti de fonctionnalités avancées telles que des outils intégrés et des sorties basées sur des événements, avec seulement quelques ajustements minimes. En intégrant ces Snaps, vous pouvez améliorer de manière transparente vos les workflows exploiter pleinement le potentiel de l'API Responses.

Portrait de Panida (Chompoo) Nimnual
Ingénieur logiciel chez SnapLogic
Catégorie : Technique