SuperAPI AI 工具集

foundry-hosted-agent-copilotkit

智能体与模型

查看项目

更新于 10-15 21:52

技能介绍

用途:当 React/Next.js 应用使用 CopilotKit,并通过 AG-UI 与托管在 Microsoft Foundry 的 Microsoft Agent Framework(MAF)智能体通信时使用本技能,适用于新建和改造现有应用。

架构模型:React(CopilotKit v2)经 HTTP 调用 CopilotKit runtime,再经 AG-UI(SSE)到 AG-UI 网关(FastAPI),网关用 OpenAI Responses 协议加 Entra 令牌访问 Foundry 托管智能体。托管智能体本身不说 AG-UI,只暴露 Responses 或 invocations 协议,需用 MAF 自带适配器(FoundryAgent + agent-framework-ag-ui)转换,不要手写 SSE 转换器;浏览器无法持有 Entra 令牌,网关必须服务端运行。

优先使用平台原生能力:跨轮次会话历史用 Foundry conversations(conv_ ID 作为 AG-UI thread ID);持久工具审批由 ResponsesHostServer 默认持久化;断线续跑用 background: true + store: true;多步工作流用 invocations 托管智能体加 @multi_turn_task 与 FoundryStateStore;用户文件用 Session Files API;长期记忆用 Foundry Memory Store;工具目录用 Foundry Toolbox。

接线方式:A 为 Responses 托管智能体上的 AG-UI 网关(约 50 行 Python,默认);B 为进程内 AG-UI(约 15 行);C 为后台运行网关(约 150 行 TypeScript);D 为 invocations 托管智能体配合 A 或 C。

用法:用 azd ai agent init 脚手架智能体,前端用常规 React/Next.js 工具链;本地用 azd ai agent run(端口 8088)和 azd ai agent invoke --local "hi" 冒烟测试,azd deploy 部署(每次部署生成新版本)。工具用 @tool 或 AIFunctionFactory.Create 定义,副作用工具设 approval_mode="always_require"。前端用 useFrontendTool、useRenderTool、useInterrupt、useHumanInTheLoop、useAgent 等钩子。

限制:Foundry 托管智能体是付费 Azure 服务;API 在小版本间会变动,需以官方文档和已安装包的 .d.ts 为准;状态事件仅在适配器可见智能体状态时发出,接线 A 需在网关声明,接线 C 需自行合成;完成标准要求通过真实 UI 验证,编译成功或单次回复不算通过。