네트워크경로()
:::warning[사용되지 않음]
Agent 네트워크는 더 이상 사용되지 않으며 향후 릴리스에서 제거될 예정입니다. 대신 agent.stream() 또는 agent.generate()와 함께 감독자 Agent를 사용하세요. 업그레이드하려면 마이그레이션 가이드를 참조하세요.
:::
AI SDK 형식을 사용하여 스트리밍 네트워크 실행을 위한 네트워크 경로 핸들러를 생성합니다. 이 함수는 메시지를 수신하고 Agent 네트워크를 실행한 후 응답을 AI SDK 호환 형식으로 클라이언트에 다시 스트리밍하는 HTTP POST 엔드포인트를 등록합니다. Agent 네트워크를 사용하면 라우팅 Agent가 다른 Agent에 작업을 위임할 수 있습니다. 사용자 정의 API 경로 내부에서 사용해야 합니다.
프레임워크에 종속되지 않는 핸들러가 필요하면 handleNetworkStream()을 사용하세요.
networkRoute()기존 AI SDK v5/기본 동작을 유지합니다. 앱이 AI SDK v6에 대해 입력된 경우 다음을 통과하세요.version: 'v6'.
사용예사용예에 대한 직접 링크
이 예제에서는 ID가 weatherAgent인 Agent를 사용하는 /network 엔드포인트에 네트워크 경로를 설정하는 방법을 보여줍니다.
import { Mastra } from '@mastra/core'
import { networkRoute } from '@mastra/ai-sdk'
export const mastra = new Mastra({
server: {
apiRoutes: [
networkRoute({
path: '/network',
agent: 'weatherAgent',
}),
],
},
})
agentId를 기반으로 런타임 정의 Agent 라우팅을 사용할 수도 있습니다. URL /network/weatherAgent는 ID가 weatherAgent인 Agent로 확인됩니다.
import { Mastra } from '@mastra/core'
import { networkRoute } from '@mastra/ai-sdk'
export const mastra = new Mastra({
server: {
apiRoutes: [
networkRoute({
path: '/network/:agentId',
}),
],
},
})
매개변수매개변수에 대한 직접 링크
version?:
'v5'를 전달하세요. 앱이 AI SDK v6 응답 헬퍼를 기준으로 타입이 지정된 경우 'v6'을 전달하세요.path:
/network 또는 /network/:agentId). 동적 Agent 라우팅에는 :agentId를 포함하세요.agent?:
:agentId가 포함되지 않은 경우 필수입니다.agentVersion?:
{ versionId: '<id>' }를 전달하고, 상태를 기준으로 확인하려면 { status: 'draft' } / { status: 'published' }를 전달하세요. 경로가 호출되면 쿼리 매개변수 ?versionId=<id> 또는 ?status=draft|published가 이 정적 값보다 우선합니다. Editor가 구성되어 있어야 합니다.defaultOptions?:
추가 구성추가 구성에 대한 직접 링크
prepareSendMessagesRequest를 사용하여 네트워크 경로로 전송되는 요청을 사용자 정의할 수 있습니다. 예를 들어 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',
},
},
}
},
}),
})