본문으로 건너뛰기

toAISdkV5메시지()

메시지를 입력 형식에서 AI SDK V5(이상) UI 메시지 형식으로 변환합니다. 이 함수는 다양한 형식(문자열, AI SDK V4/V5 메시지, Mastra DB 메시지 등)의 메시지를 수용하고 이를 AI SDK V5+로 정규화합니다.UIMessage다음과 같은 AI SDK UI 구성요소와 함께 사용하기에 적합한 형식입니다.useChat().

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

app/chat/page.tsx
import { toAISdkV5Messages } from '@mastra/ai-sdk/ui'
import { useChat } from 'ai/react'

// Stored messages from your database, memory or API
const storedMessages = [
{ id: '1', role: 'user', content: 'Hello', parts: [{ type: 'text', text: 'Hello' }] },
{
id: '2',
role: 'assistant',
content: 'Hi there!',
parts: [{ type: 'text', text: 'Hi there!' }],
},
]

export default function Chat() {
const { messages } = useChat({
initialMessages: toAISdkV5Messages(storedMessages),
})

return (
<div>
{messages.map(message => (
<div key={message.id}>
{message.role}: {message.parts.map(part => (part.type === 'text' ? part.text : null))}
</div>
))}
</div>
)
}

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

messages:

MessageListInput
변환할 메시지입니다. 문자열, 문자열 배열, 단일 메시지 객체 또는 지원되는 형식의 메시지 객체 배열일 수 있습니다.

보고
보고에 대한 직접 링크

다음 구조를 갖는 AI SDK V5+ UIMessage 객체 배열을 반환합니다.

id:

string
고유한 메시지 식별자입니다.

role:

'user' | 'assistant' | 'system'
메시지 발신자의 역할입니다.

parts:

UIMessagePart[]
텍스트, Tool 결과, 파일, 추론, 출처 및 단계 마커를 포함하는 UI 부분의 배열입니다.

metadata?:

Record<string, unknown>
createdAt, threadId, resourceId 및 사용자 정의 필드를 포함하는 선택적 메타데이터입니다.

예에 대한 직접 링크

문자 메시지 변환 중
문자 메시지 변환 중에 대한 직접 링크

import { toAISdkV5Messages } from '@mastra/ai-sdk/ui'

const messages = toAISdkV5Messages(['Hello', 'How can I help you today?'])
// Returns array of UIMessage objects with user role

Mastra 클라이언트로 메시지 로드
Mastra 클라이언트로 메시지 로드에 대한 직접 링크

import { MastraClient } from '@mastra/client-js'
import { toAISdkV5Messages } from '@mastra/ai-sdk/ui'

const client = new MastraClient()

const { messages } = await client.listThreadMessages('thread-id', { agentId: 'myAgent' })
const uiMessages = toAISdkV5Messages(messages)