模型提供者提供代理框架代理所使用的推論客戶端。 您的應用程式擁有代理定義、指令、工具、中介軟體及會話政策,而提供者則提供模型推論及提供者託管能力。
對於擁有代理定義、權限或服務端執行的遠端或受管理執行時,請參見 代理服務。 關於自訂框架代理實作,請參見 自訂代理。
醫療提供者比較
| Provider | 功能工具 | 結構化輸出 | 程式碼解譯器 | 檔案搜尋 | MCP 工具 | 背景回應 |
|---|---|---|---|---|---|---|
| Azure OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| OpenAI | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| Microsoft Foundry | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| 人為 | ✅ | ✅ | ✅ | ❌ | ✅ | ❌ |
| Ollama | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ |
| 鑄造廠地方分會 | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ |
| 亞馬遜基岩版 | ✅ | 情況不一 | ❌ | ❌ | ❌ | ❌ |
| 谷歌雙子座 | ✅ | ✅ | ✅ | ✅ | ✅ | ❌ |
| ONNX | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ |
| Dapr | 情況不一 | 情況不一 | 情況不一 | 情況不一 | 情況不一 | 情況不一 |
| 密斯特拉爾 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 | 不適用 |
Important
如果您使用 Microsoft Agent Framework 來建立與任何第三方伺服器、代理程式、程式碼或非 Azure Direct 模型(「第三方系統」)運作的應用程式,風險自負。 第三方系統在 Microsoft 產品條款下屬於非 Microsoft 產品,並受其自身第三方授權條款所規範。 您需自行負擔所有使用及相關費用。
我們建議審查所有與第三方系統共享及接收的資料,並注意第三方在資料處理、分享、保存及定位上的做法。 你有責任管理資料是否會超出組織的 Azure 合規及地理邊界及相關影響,並確保適當的權限、邊界與核准被提供。
你有責任仔細審查並測試使用 Microsoft Agent Framework 所建置的應用程式,並根據你的具體使用情境做出所有適當的決策與客製化。 這包括實施您自己的負責任 AI 緩解措施,如元提示、內容過濾器或其他安全系統,並確保您的應用程式符合適當的品質、可靠性、安全性與可信度標準。 另見: 透明度常見問題
可用供應商
任何提供實作的 Microsoft.Extensions.AI.IChatClient 推論服務都可以支持一個 ChatClientAgent。
- Azure OpenAI — Azure-hosted OpenAI inference with Azure identity support.
- OpenAI — OpenAI 聊天完成與回應 API。
- Microsoft Foundry — 透過 Microsoft Foundry 專案進行模型推論。
- Anthropic — 透過 Anthropic 及支援的託管端點進行模型推論。
- Ollama — 本地開源模型推論。
- Amazon Bedrock — AWS 管理的基礎模型推論。
- Google Gemini — Gemini 開發者 API 或 Vertex AI 推論。
- ONNX — 本地 ONNX 執行時生成式 AI 推論。
- Dapr — 透過 Dapr 對話構建模組進行推論。
對話歷史支援
所選 API 決定遠端服務是否能擁有對話歷史,以及代理是否能改用記憶體內或自訂 ChatHistoryProvider的 。
| 代理連線 | 服務管理歷史 | 記憶體內或自訂歷史 |
|---|---|---|
| Microsoft Foundry 提示字元或託管代理程式 | ✅ | ❌ |
| Microsoft Foundry 回應 | ✅ | ✅ |
| Azure OpenAI 回應 | ✅ | ✅ |
| Azure OpenAI Chat Completions | ❌ | ✅ |
| OpenAI 回應 | ✅ | ✅ |
| OpenAI 聊天完成 | ❌ | ✅ |
| 人為 | ❌ | ✅ |
任何其他 IChatClient |
情況不一 | 情況不一 |
服務管理歷史的可用性也可能取決於所選的服務選項。 請參閱供應商頁面以了解設定細節。
SDK 與端點選擇
數個 .NET SDK 可連接 Microsoft Foundry、Azure OpenAI、OpenAI 或 Anthropic。 選擇與服務端點及認證模式相符的 SDK。
| AI 服務 | 客戶端 SDK | NuGet 套件 | 端點或識別碼 |
|---|---|---|---|
| Microsoft Foundry 專案 | Azure AI 專案 |
Azure.AI.Projects、Microsoft.Agents.AI.Foundry |
https://<resource>.services.ai.azure.com/api/projects/<project> |
| Microsoft Foundry 模型透過 OpenAI v1 | OpenAI |
OpenAI、Microsoft.Agents.AI.OpenAI |
https://<resource>.services.ai.azure.com/openai/v1/ |
| Azure OpenAI | Azure OpenAI |
Azure.AI.OpenAI、Microsoft.Agents.AI.OpenAI |
https://<resource>.openai.azure.com/ |
| Azure OpenAI through OpenAI v1 | OpenAI |
OpenAI、Microsoft.Agents.AI.OpenAI |
https://<resource>.openai.azure.com/openai/v1/ |
| OpenAI | OpenAI |
OpenAI、Microsoft.Agents.AI.OpenAI |
預設 OpenAI 端點 |
| Microsoft Foundry 上的 Anthropic | Anthropic 鑄造廠 |
Anthropic.Foundry、Microsoft.Agents.AI.Anthropic |
鑄造廠資源名稱 |
| Anthropic | Anthropic |
Anthropic、Microsoft.Agents.AI.Anthropic |
預設 Anthropic 端點 |
請參考 Microsoft Foundry、Azure OpenAI、OpenAI 或 Anthropic 頁面,了解客戶端建構與認證範例。
可用供應商
Agent Framework Python 在共用代理介面背後揭露了提供者專屬的聊天客戶端。
- Azure OpenAI — Azure-hosted OpenAI inference with Azure identity support.
- OpenAI — OpenAI 聊天完成與回應 API。
- Microsoft Foundry — 透過 Microsoft Foundry 專案進行模型推論。
- Foundry Local — 本地支援 Foundry 模型。
- Anthropic — 透過 Anthropic、Foundry、Amazon Bedrock 或 Vertex AI 進行 Claude 推論。
- Ollama — 本地開源模型推論。
- Amazon Bedrock — AWS 管理的基礎模型推論。
- Google Gemini — Gemini 開發者 API 或 Vertex AI 推論。
- Mistral — Mistral AI 嵌入生成。
可用供應商
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",
},
})