> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ko/llms.txt # toAISdkV5메시지() 메시지를 입력 형식에서 AI SDK V5(이상) UI 메시지 형식으로 변환합니다. 이 함수는 다양한 형식(문자열, AI SDK V4/V5 메시지, Mastra DB 메시지 등)의 메시지를 수용하고 이를 AI SDK V5+로 정규화합니다.`UIMessage`다음과 같은 AI SDK UI 구성요소와 함께 사용하기에 적합한 형식입니다.`useChat()`. ## 사용예 ```typescript 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 (
{messages.map(message => (
{message.role}: {message.parts.map(part => (part.type === 'text' ? part.text : null))}
))}
) } ``` ## 매개변수 **messages** (`MessageListInput`): 변환할 메시지입니다. 문자열, 문자열 배열, 단일 메시지 객체 또는 지원되는 형식의 메시지 객체 배열일 수 있습니다. ## 보고 다음 구조를 갖는 AI SDK V5+ `UIMessage` 객체 배열을 반환합니다. **id** (`string`): 고유한 메시지 식별자입니다. **role** (`'user' | 'assistant' | 'system'`): 메시지 발신자의 역할입니다. **parts** (`UIMessagePart[]`): 텍스트, Tool 결과, 파일, 추론, 출처 및 단계 마커를 포함하는 UI 부분의 배열입니다. **metadata** (`Record`): createdAt, threadId, resourceId 및 사용자 정의 필드를 포함하는 선택적 메타데이터입니다. ## 예 ### 문자 메시지 변환 중 ```typescript 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 클라이언트로 메시지 로드 ```typescript 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) ```