> Discover all available pages from the documentation index: https://mastra.zisheng.pro/fr/llms.txt # toAISdkV5Messages() Convertit des messages provenant de différents formats d’entrée au format de message d’interface utilisateur AI SDK V5 et versions ultérieures. Cette fonction accepte plusieurs formats de messages (chaînes, messages AI SDK V4/V5, messages de base de données Mastra, etc.) et les normalise au format `UIMessage` d’AI SDK V5+, adapté aux composants d’interface utilisateur AI SDK tels que `useChat()`. ## Exemple d’utilisation ```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))}
))}
) } ``` ## Paramètres **messages** (`MessageListInput`): Messages à convertir. Il peut s’agir d’une chaîne, d’un tableau de chaînes, d’un objet message unique ou d’un tableau d’objets message dans n’importe quel format pris en charge. ## Valeur renvoyée Renvoie un tableau d’objets `UIMessage` AI SDK V5+ présentant la structure suivante : **id** (`string`): Identifiant unique du message. **role** (`'user' | 'assistant' | 'system'`): Rôle de l’expéditeur du message. **parts** (`UIMessagePart[]`): Tableau d’éléments d’interface utilisateur comprenant du texte, des résultats de Tools, des fichiers, du raisonnement, des sources et des marqueurs d’étape. **metadata** (`Record`): Métadonnées facultatives comprenant createdAt, threadId, resourceId et des champs personnalisés. ## Exemples ### Convertir des messages texte ```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 ``` ### Charger des messages avec le client 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) ```