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 為優先。