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’utilisationLien direct vers Exemple d’utilisation
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>
)
}
ParamètresLien direct vers 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éeLien direct vers 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<string, unknown>
Métadonnées facultatives comprenant createdAt, threadId, resourceId et des champs personnalisés.
ExemplesLien direct vers Exemples
Convertir des messages texteLien direct vers Convertir des messages texte
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 MastraLien direct vers Charger des messages avec le client 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)