본문으로 건너뛰기

네트워크경로()

:::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 엔드포인트에 네트워크 경로를 설정하는 방법을 보여줍니다.

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',
}),
],
},
})

agentId를 기반으로 런타임 정의 Agent 라우팅을 사용할 수도 있습니다. URL /network/weatherAgent는 ID가 weatherAgent인 Agent로 확인됩니다.

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',
}),
],
},
})

매개변수
매개변수에 대한 직접 링크

version?:

'v5' | 'v6'
= 'v5'
출력할 AI SDK 스트림 계약을 선택합니다. 기존 기본 동작을 사용하려면 생략하거나 'v5'를 전달하세요. 앱이 AI SDK v6 응답 헬퍼를 기준으로 타입이 지정된 경우 'v6'을 전달하세요.

path:

string
= '/network/:agentId'
경로 경로입니다(예: /network 또는 /network/:agentId). 동적 Agent 라우팅에는 :agentId를 포함하세요.

agent?:

string
이 네트워크 경로에 사용할 라우팅 Agent의 ID입니다. 경로에 :agentId가 포함되지 않은 경우 필수입니다.

agentVersion?:

{ versionId: string } | { status?: 'draft' | 'published' }
특정 Agent 버전을 선택합니다. 정확한 버전을 대상으로 하려면 { versionId: '<id>' }를 전달하고, 상태를 기준으로 확인하려면 { status: 'draft' } / { status: 'published' }를 전달하세요. 경로가 호출되면 쿼리 매개변수 ?versionId=<id> 또는 ?status=draft|published가 이 정적 값보다 우선합니다. Editor가 구성되어 있어야 합니다.

defaultOptions?:

AgentExecutionOptions
Agent 실행에 전달되는 기본 옵션입니다. 여기에는 지침, Memory 구성, maxSteps 및 기타 실행 설정이 포함될 수 있습니다.

추가 구성
추가 구성에 대한 직접 링크

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',
},
},
}
},
}),
})