handleNetworkStream()
這是一個與框架無關的處理器,用於以 AI SDK 兼容格式串流網絡執行。當你需要在 Hono 或 Mastra 自有的 apiRoutes 功能以外處理網絡串流時,可直接使用此函數。
handleNetworkStream() 會傳回一個 ReadableStream,你可以使用 createUIMessageStreamResponse() 將其包裝。
handleNetworkStream() 保留現有的 AI SDK v5/預設行為。如果你的應用程式以 AI SDK v6 型別為準,請傳入 version: 'v6'。
如要在 Mastra 伺服器內建立網絡路由,請使用 networkRoute()。
使用範例使用範例 的直接連結
Next.js App Router 範例:
app/api/network/route.ts
import { handleNetworkStream } from '@mastra/ai-sdk'
import { createUIMessageStreamResponse } from 'ai'
import { mastra } from '@/src/mastra'
export async function POST(req: Request) {
const params = await req.json()
const stream = await handleNetworkStream({
mastra,
agentId: 'routingAgent',
params,
})
return createUIMessageStreamResponse({ stream })
}
參數參數 的直接連結
version?:
'v5' | 'v6'
= 'v5'
選擇要輸出的 AI SDK 串流合約。省略此項或傳入
'v5',即可使用現有的預設行為。當你的應用程式以 AI SDK v6 回應輔助函數的型別為準時,請傳入 'v6'。mastra:
Mastra
用於查找及執行 Agent 的 Mastra 實例。
agentId:
string
要以網絡形式執行的路由 Agent ID。
agentVersion?:
{ versionId: string } | { status?: 'draft' | 'published' }
選擇特定 Agent 版本。傳入
{ versionId: '<id>' } 可指定確切版本,或傳入 { status: 'draft' }/{ status: 'published' } 按狀態解析版本。必須先設定 Editor。params:
NetworkStreamHandlerParams
包含訊息及執行選項的請求參數。當中包括
messages(必填),以及 memory、maxSteps、runId 等任何 AgentExecutionOptions。defaultOptions?:
AgentExecutionOptions
傳給 Agent 執行的預設選項。這些選項會與 params 合併,而 params 的優先次序較高。