Aller au contenu principal

toAISdkV4Messages()

Convertit des messages de différents formats d’entrée au format de message d’interface utilisateur AI SDK V4. Cette fonction accepte plusieurs formats de message, notamment des chaînes, des messages AI SDK V4/V5 et des messages Mastra DB, puis les normalise au format UIMessage d’AI SDK V4, adapté aux composants d’interface utilisateur d’AI SDK tels que useChat().

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

app/chat/page.tsx
import { toAISdkV4Messages } from '@mastra/ai-sdk'
import { useChat } from 'ai/react' // AI SDK V4

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

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

return (
<div>
{messages.map(message => (
<div key={message.id}>
{message.role}: {message.content}
</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 seul objet de message ou d’un tableau d’objets de message dans n’importe quel format pris en charge.

Valeur renvoyée
Lien direct vers Valeur renvoyée

Renvoie un tableau d’objets UIMessage AI SDK V4 possédant la structure suivante :

id:

string
Identifiant unique du message.

role:

'user' | 'assistant' | 'system'
Rôle de l’émetteur du message.

content:

string
Contenu textuel du message.

parts:

UIMessagePart[]
Tableau de parties d’interface utilisateur comprenant du texte, des invocations de Tools, des fichiers, du raisonnement, des sources et des marqueurs d’étape.

createdAt:

Date
Horodatage de création du message.

toolInvocations?:

ToolInvocation[]
Tableau des invocations de Tools pour les messages de l’assistant.

experimental_attachments?:

Attachment[]
Fichiers joints au message.

metadata?:

Record<string, unknown>
Métadonnées personnalisées associées au message.

Exemples
Lien direct vers Exemples

Convertir des messages texte
Lien direct vers Convertir des messages texte

import { toAISdkV4Messages } from '@mastra/ai-sdk'

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

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

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

const client = new MastraClient()

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