본문으로 건너뛰기

OpenAI 응답 API 대화

OpenAI Responses API Conversations 표면은 Mastra Agents의 대화 관리 측면을 Responses API로 제공합니다. Mastra에서 스레드 기반 대화를 생성, 검색, 삭제 및 검사하는 방법을 제공합니다.

이 API는 OpenAI Responses API를 보완합니다. Stored Responses 호출은 conversation_id를 반환하며, Mastra에서 이 값은 원시 Memory threadId입니다. 해당 스레드를 직접 다루려면 client.conversations를 사용하세요. 이 API는 현재 실험적입니다.

OpenAI 응답과의 관계
OpenAI 응답과의 관계에 대한 직접 링크

생성 및 지속을 위해 OpenAI Responses API를 사용하십시오.

const response = await client.responses.create({
agent_id: 'support-agent',
input: 'Start a support thread',
store: true,
})

console.log(response.conversation_id)

저장된 스레드를 검사하거나 관리하려면 Conversations API를 사용하세요.

const conversation = await client.conversations.retrieve(response.conversation_id!)
const items = await client.conversations.items.list(response.conversation_id!)

사용예
사용예에 대한 직접 링크

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)

행동 양식
행동 양식에 대한 직접 링크

수명주기
수명주기에 대한 직접 링크

create(params)
createparams에 대한 직접 링크

선택한 Agent에 대한 새 대화 스레드를 만듭니다.

const conversation = await client.conversations.create({
agent_id: 'support-agent',
title: 'Billing support',
})

보고: Promise<Conversation>.

retrieve(conversationId, requestContext?)
retrieveconversationid-requestcontext에 대한 직접 링크

스레드 ID로 대화를 검색합니다.

const conversation = await client.conversations.retrieve('thread_123')

console.log(conversation.thread)

보고: Promise<Conversation>.

delete(conversationId, requestContext?)
deleteconversationid-requestcontext에 대한 직접 링크

스레드 ID로 대화를 삭제합니다.

const deleted = await client.conversations.delete('thread_123')

console.log(deleted.deleted)

보고: Promise<ConversationDeleted>.

품목
품목에 대한 직접 링크

items.list(conversationId, requestContext?)
itemslistconversationid-requestcontext에 대한 직접 링크

대화에 대해 저장된 항목을 나열합니다.

const items = await client.conversations.items.list('thread_123')

console.log(items.data)

보고: Promise<ConversationItemsPage>.

응답 형태
응답 형태에 대한 직접 링크

create()retrieve()는 다음을 포함하는 대화 객체를 반환합니다.

  • id: 원시 스레드 ID
  • object: 언제나'conversation'
  • thread: 저장된 스레드 기록

delete()보고:

  • id: 원시 스레드 ID
  • object: 언제나'conversation.deleted'
  • deleted: 언제나true

items.list()보고:

  • object: 항상 'list'
  • data: message, function_call, function_call_output 같은 대화 항목
  • first_id: 페이지의 첫 번째 항목 ID
  • last_id: 페이지의 마지막 항목 ID
  • has_more: 현재 페이지 외에 항목이 더 있는지 여부

매개변수
매개변수에 대한 직접 링크

agent_id:

string
필수입니다. 대화 Memory를 소유하는 등록된 Mastra Agent입니다.

conversation_id?:

string
원시 스레드 ID로 사용할 선택적 대화 ID입니다.

resource_id?:

string
대화 스레드와 연결할 선택적 리소스 ID입니다.

title?:

string
대화와 함께 저장되는 선택적 스레드 제목입니다.

metadata?:

Record<string, unknown>
대화와 함께 저장되는 선택적 스레드 메타데이터입니다.

requestContext?:

RequestContext | Record<string, any>
Mastra 서버로 전달되는 선택적 요청 컨텍스트입니다.