部署可转向智能体(预览)
用 azd 部署可转向的 Foundry 托管智能体:第二轮排队并协作取消进行中的一轮,避免 409,并用 azd down 清理。

#部署可转向智能体(预览)
本文部署一个支持转向(steering)的长时间运行托管智能体:当同一会话上的第一轮仍在运行时,第二轮到达,平台会把新的一轮排队,并协作式取消当前一轮,而不是以 409 conversation_locked 拒绝它。
该示例是一个 Responses 协议智能体,用两个选项打开韧性(resilience)和转向。它使用模拟的模型流,因此你可以在没有模型凭证的情况下运行它。
注意
长时间运行的智能体处于预览阶段。API 和包版本可能变更。
前提条件
- 一个具有 Microsoft Foundry 访问权限的 Azure 订阅。
- Python 3.13。
- Azure Developer CLI(
azd),并安装 Foundry agents 扩展(azd extension install azure.ai.agents),版本为azd-ext-azure-ai-agents_1.0.0-beta.16或更高,以使用--long-running调用标志和invocations生命周期命令。azd在调用已部署智能体时处理认证。
获取示例
在一个空目录中,从其 azure.yaml 清单初始化具备韧性的转向智能体:
azd auth login
azd ai agent init -m https://github.com/microsoft-foundry/foundry-samples/blob/main/samples/python/hosted-agents/bring-your-own/responses/resilient-steering/azure.yaml该命令下载示例源码,采用其 azure.yaml,创建一个 azd 环境,并把它连接到你选择的 Foundry 项目。
智能体在构造宿主时启用韧性和转向:
options = ResponsesServerOptions(
resilient_background=True,
steerable_conversations=True,
)
app = ResponsesAgentServerHost(options=options)通过使用 steerable_conversations=True,忙碌会话上的第二轮会被排队,正在运行的处理程序会被协作式取消,而不是返回 409 conversation_locked。
供应并部署
供应项目并部署智能体。当提示选择位置时,选择一个支持托管智能体的区域。
azd upazd up 会打印 Responses 端点和一个演练场链接。
转向已部署的智能体
转向会重定向正在进行的一轮,因此在你发送第二轮时,第一轮必须保持运行。把第一轮作为新会话中的长时间运行后台响应启动,并用 --no-wait 立即返回:
azd ai agent invoke --long-running --no-wait --new-session "Explain quantum computing in detail, including its history, principles, algorithms, hardware, error correction, and applications."--long-running 发送 store=true 和 background=true,并且 azd ai agent invoke 默认在你的下一次调用中复用该会话。当第一轮仍在运行时,发送一条新指令以转向正在进行的一轮。这一次省略 --no-wait,使 CLI 保持附着,并把转向后的一轮流式输出到完成:
azd ai agent invoke --long-running "Instead, explain relativity and focus on practical examples."第一轮观察到排队的输入,并在下一个安全点收尾。排队的一轮随后在你的终端中流式输出直到完成,因此你可以看到交接。若要改为按 ID 重放某个特定响应,使用 azd ai agent invocations follow --id <response-id>。
清理
azd downPRIMARY_SOURCE: https://learn.microsoft.com/en-us/azure/foundry/agents/how-to/deploy-steerable-agent
- #Foundry
- #azd
- #转向
- #托管智能体
- #清理


