模型提供程序

模型提供程序提供代理框架代理使用的推理客户端。 应用程序拥有代理定义、说明、工具、中间件和会话策略,而提供程序提供模型推理和提供程序托管的功能。

有关拥有代理定义、权限或服务端执行的远程或托管运行时,请参阅 代理服务。 有关自定义框架代理实现,请参阅 自定义代理

提供程序比较

Provider 函数工具 结构化输出 代码解释器 文件搜索 MCP 工具 后台响应
Azure OpenAI
OpenAI
Microsoft Foundry
Anthropic
Ollama
Foundry Local
亚马逊基岩版 多种多样
谷歌双子座
ONNX
Dapr 多种多样 多种多样 多种多样 多种多样 多种多样 多种多样
Mistral 不适用 不适用 不适用 不适用 不适用 不适用

Important

如果使用Microsoft代理框架生成使用任何第三方服务器、代理、代码或非Azure直接模型(“第三方系统”)运行的应用程序,则自行承担风险。 第三方系统是Microsoft产品条款下的非Microsoft产品,受其自己的第三方许可条款的约束。 你需对任何使用及相关成本负责。

建议查看与第三方系统共享和接收的所有数据,并识别第三方处理、共享、保留和位置数据的做法。 由你负责管理数据是否会流出组织的Azure合规性和地理边界以及任何相关影响,以及预配适当的权限、边界和审批。

你负责仔细查看和测试使用特定用例上下文中的 Microsoft Agent Framework 生成的应用程序,并做出所有适当的决策和自定义。 这包括实施自己的负责任的 AI 缓解措施,例如元系统、内容筛选器或其他安全系统,并确保应用程序满足适当的质量、可靠性、安全性和可信度标准。 另请参阅: 透明度常见问题解答

可用提供者

提供 Microsoft.Extensions.AI.IChatClient 实现的任何推理服务都可以支持 ChatClientAgent

  • Azure OpenAI — Azure托管的 OpenAI 推理与Azure标识支持。
  • OpenAI — OpenAI 聊天完成和响应 API。
  • Microsoft Foundry — 通过 Microsoft Foundry 项目进行模型推理。
  • Anthropic — Claude 模型推理通过Anthropic和支持的托管终结点。
  • Ollama — 本地开源模型推理。
  • Amazon Bedrock - AWS 托管的基础模型推理。
  • Google Gemini — Gemini 开发人员 API 或顶点 AI 推理。
  • ONNX - 本地 ONNX 运行时 GenAI 推理。
  • Dapr - 推理通过 Dapr 对话构建基块路由。

对话历史记录支持

所选 API 确定远程服务是否可以拥有聊天历史记录,以及代理是否可以改用内存中或自定义 ChatHistoryProvider

代理连接 服务管理的历史记录 内存中或自定义历史记录
Microsoft Foundry 提示符或托管代理
Microsoft Foundry 响应
Azure OpenAI 响应
Azure OpenAI 聊天完成
OpenAI 响应
OpenAI 聊天完成
Anthropic
任何其他 IChatClient 多种多样 多种多样

服务管理的历史记录可用性也可以取决于所选的服务选项。 有关配置详细信息,请参阅提供程序页。

SDK 和终结点选择

多个.NET SDK 可以连接到 Microsoft Foundry、Azure OpenAI、OpenAI 或 Anthropic。 选择与服务终结点和身份验证模型匹配的 SDK。

AI 服务 客户端 SDK NuGet 包 终结点或标识符
Microsoft Foundry 项目 Azure AI 项目 Azure.AI.ProjectsMicrosoft.Agents.AI.Foundry https://<resource>.services.ai.azure.com/api/projects/<project>
通过 OpenAI v1 Microsoft Foundry 模型 OpenAI OpenAIMicrosoft.Agents.AI.OpenAI https://<resource>.services.ai.azure.com/openai/v1/
Azure OpenAI Azure OpenAI Azure.AI.OpenAIMicrosoft.Agents.AI.OpenAI https://<resource>.openai.azure.com/
通过 OpenAI v1 Azure OpenAI OpenAI OpenAIMicrosoft.Agents.AI.OpenAI https://<resource>.openai.azure.com/openai/v1/
OpenAI OpenAI OpenAIMicrosoft.Agents.AI.OpenAI 默认 OpenAI 终结点
Microsoft Foundry 上的Anthropic Anthropic Foundry Anthropic.FoundryMicrosoft.Agents.AI.Anthropic Foundry 资源名称
Anthropic Anthropic AnthropicMicrosoft.Agents.AI.Anthropic 默认Anthropic终结点

使用 Microsoft FoundryAzure OpenAI、OpenAIAnthropic 页进行客户端构造和身份验证示例。

可用提供者

代理框架Python公开公共代理接口后面的提供程序特定的聊天客户端。

可用提供者

Go SDK 通过提供程序特定的构造函数创建标准 *agent.Agent

Provider Package 导入路径
Microsoft Foundry foundryprovider github.com/microsoft/agent-framework-go/provider/foundryprovider
OpenAI 聊天完成 openaiprovider github.com/microsoft/agent-framework-go/provider/openaiprovider
OpenAI 响应 openaiprovider github.com/microsoft/agent-framework-go/provider/openaiprovider
Anthropic anthropicprovider github.com/microsoft/agent-framework-go/provider/anthropicprovider
谷歌双子座 geminiprovider github.com/microsoft/agent-framework-go/provider/geminiprovider

例如,从项目终结点、凭据和模型部署创建由 Foundry 支持的代理:

a := foundryprovider.NewAgent(endpoint, token, foundryprovider.ModelDeployment(model), foundryprovider.AgentConfig{
    Instructions: "You are a helpful assistant.",
    Config: agent.Config{
        Name: "MyAgent",
    },
})

后续步骤