Aller au contenu principal

toAISdkMessages()

Convertit des messages provenant de différents formats d’entrée au format de message d’interface utilisateur AI SDK. toAISdkMessages() conserve le comportement par défaut existant d’AI SDK v5. Si votre application est typée pour AI SDK v6, transmettez version: 'v6'.

version: 'v6' utilise le chemin de sortie d’interface utilisateur AI SDK v6 de MessageList. La détection et l’ingestion des entrées MessageList restent inchangées.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

app/chat/page.tsx
import { toAISdkMessages } 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: toAISdkMessages(storedMessages, { version: 'v6' }),
})

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

Paramètres
Lien 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.

options.version?:

'v5' | 'v6'
Sélectionne le type de message AI SDK à renvoyer. Omettez cette option ou transmettez 'v5' pour conserver le comportement par défaut existant. Transmettez 'v6' lorsque votre application est typée pour les types de messages useChat() d’AI SDK v6.

Valeur renvoyée
Lien direct vers Valeur renvoyée

Renvoie un tableau d’objets UIMessage AI SDK typés pour la version sélectionnée.

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.

Exemples
Lien direct vers Exemples

Utiliser les types AI SDK v5 par défaut
Lien direct vers Utiliser les types AI SDK v5 par défaut

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

const messages = toAISdkMessages(['Hello', 'How can I help you today?'])

Renvoyer les types de messages AI SDK v6
Lien direct vers Renvoyer les types de messages AI SDK v6

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

const messages = toAISdkMessages(['Hello', 'How can I help you today?'], {
version: 'v6',
})

Charger des messages avec le client Mastra
Lien direct vers Charger des messages avec le client Mastra

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

const client = new MastraClient()

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