Aller au contenu principal

networkRoute()

Obsolète

Les réseaux d’Agents sont obsolètes et seront supprimés dans une prochaine version. Utilisez plutôt des Agents superviseurs avec agent.stream() ou agent.generate(). Consultez le guide de migration pour effectuer la mise à niveau.

Crée un gestionnaire de route de réseau qui diffuse l’exécution d’un réseau au format AI SDK. Cette fonction enregistre un point de terminaison HTTP POST qui accepte des messages, exécute un réseau d’Agents et diffuse la réponse au client dans un format compatible avec AI SDK. Les réseaux d’Agents permettent à un Agent de routage de déléguer des tâches à d’autres Agents. Vous devez l’utiliser dans une route d’API personnalisée.

Utilisez handleNetworkStream() si vous avez besoin d’un gestionnaire indépendant du framework.

networkRoute() conserve le comportement par défaut existant d’AI SDK v5. Si votre application est typée pour AI SDK v6, transmettez version: 'v6'.

Exemple d’utilisation
Lien direct vers Exemple d’utilisation

Cet exemple montre comment configurer, sur le point de terminaison /network, une route de réseau qui utilise un Agent dont l’ID est weatherAgent.

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { networkRoute } from '@mastra/ai-sdk'

export const mastra = new Mastra({
server: {
apiRoutes: [
networkRoute({
path: '/network',
agent: 'weatherAgent',
}),
],
},
})

Vous pouvez également utiliser un routage d’Agent défini au moment de l’exécution et fondé sur un agentId. L’URL /network/weatherAgent est alors résolue vers l’Agent dont l’ID est weatherAgent.

src/mastra/index.ts
import { Mastra } from '@mastra/core'
import { networkRoute } from '@mastra/ai-sdk'

export const mastra = new Mastra({
server: {
apiRoutes: [
networkRoute({
path: '/network/:agentId',
}),
],
},
})

Paramètres
Lien direct vers Paramètres

version?:

'v5' | 'v6'
= 'v5'
Sélectionne le contrat de flux AI SDK à émettre. Omettez ce paramètre ou transmettez 'v5' pour conserver le comportement par défaut existant. Transmettez 'v6' lorsque votre application est typée pour les assistants de réponse d’AI SDK v6.

path:

string
= '/network/:agentId'
Chemin de la route (par exemple, /network ou /network/:agentId). Incluez :agentId pour un routage dynamique de l’Agent.

agent?:

string
ID de l’Agent de routage à utiliser pour cette route de réseau. Obligatoire si le chemin ne contient pas :agentId.

agentVersion?:

{ versionId: string } | { status?: 'draft' | 'published' }
Sélectionne une version précise de l’Agent. Transmettez { versionId: '<id>' } pour cibler une version exacte, ou { status: 'draft' } / { status: 'published' } pour la déterminer selon son statut. Lorsque la route est appelée, les paramètres de requête ?versionId=<id> ou ?status=draft|published sont prioritaires sur cette valeur statique. Nécessite la configuration de l’Editor.

defaultOptions?:

AgentExecutionOptions
Options par défaut transmises à l’exécution de l’Agent. Elles peuvent comprendre des instructions, une configuration de Memory, maxSteps et d’autres paramètres d’exécution.

Configuration supplémentaire
Lien direct vers Configuration supplémentaire

Vous pouvez utiliser prepareSendMessagesRequest pour personnaliser la requête envoyée à la route de réseau, par exemple afin de transmettre une configuration supplémentaire à l’Agent :

const { error, status, sendMessage, messages, regenerate, stop } = useChat({
transport: new DefaultChatTransport({
api: 'http://localhost:4111/network',
prepareSendMessagesRequest({ messages }) {
return {
body: {
messages,
// Pass memory config
memory: {
thread: 'user-1',
resource: 'user-1',
},
},
}
},
}),
})