OpenAI Responses API Conversations
L'interface OpenAI Responses API Conversations expose les fonctionnalités de gestion des conversations des Agents Mastra sous la forme d'une Responses API. Elle fournit des méthodes permettant de créer, récupérer, supprimer et inspecter des conversations de Mastra adossées à des threads.
Cette API complète l'OpenAI Responses API. Les appels Responses stockés renvoient conversation_id ; dans Mastra, cette valeur correspond au threadId brut de la mémoire. Utilisez client.conversations lorsque vous souhaitez manipuler directement ce thread.
Cette API est actuellement expérimentale.
Relation avec OpenAI ResponsesLien direct vers Relation avec OpenAI Responses
Utilisez l'OpenAI Responses API pour la génération et la poursuite d'une conversation :
const response = await client.responses.create({
agent_id: 'support-agent',
input: 'Start a support thread',
store: true,
})
console.log(response.conversation_id)
Utilisez la Conversations API pour inspecter ou gérer ce thread stocké :
const conversation = await client.conversations.retrieve(response.conversation_id!)
const items = await client.conversations.items.list(response.conversation_id!)
Exemple d'utilisationLien direct vers Exemple d'utilisation
import { MastraClient } from '@mastra/client-js'
const client = new MastraClient({
baseUrl: 'http://localhost:4111',
})
const conversation = await client.conversations.create({
agent_id: 'support-agent',
})
console.log(conversation.id)
MéthodesLien direct vers Méthodes
Cycle de vieLien direct vers Cycle de vie
create(params)Lien direct vers createparams
Crée un nouveau thread de conversation pour l'Agent sélectionné.
const conversation = await client.conversations.create({
agent_id: 'support-agent',
title: 'Billing support',
})
Renvoie : Promise<Conversation>.
retrieve(conversationId, requestContext?)Lien direct vers retrieveconversationid-requestcontext
Récupère une conversation à partir de l'identifiant de son thread.
const conversation = await client.conversations.retrieve('thread_123')
console.log(conversation.thread)
Renvoie : Promise<Conversation>.
delete(conversationId, requestContext?)Lien direct vers deleteconversationid-requestcontext
Supprime une conversation à partir de l'identifiant de son thread.
const deleted = await client.conversations.delete('thread_123')
console.log(deleted.deleted)
Renvoie : Promise<ConversationDeleted>.
ÉlémentsLien direct vers Éléments
items.list(conversationId, requestContext?)Lien direct vers itemslistconversationid-requestcontext
Répertorie les éléments stockés pour une conversation.
const items = await client.conversations.items.list('thread_123')
console.log(items.data)
Renvoie : Promise<ConversationItemsPage>.
Structure de la réponseLien direct vers Structure de la réponse
create() et retrieve() renvoient un objet de conversation contenant :
id: l'identifiant brut du threadobject: toujours'conversation'thread: l'enregistrement du thread stocké
delete() renvoie :
id: l'identifiant brut du threadobject: toujours'conversation.deleted'deleted: toujourstrue
items.list() renvoie :
object: toujours'list'data: éléments de la conversation tels quemessage,function_calletfunction_call_outputfirst_id: identifiant du premier élément de la pagelast_id: identifiant du dernier élément de la pagehas_more: indique s'il existe d'autres éléments après la page actuelle