.NET + AI 生態系統工具和 SDK

.NET 生態系統提供許多功能強大的工具、程式庫和服務來開發 AI 應用程式。 .NET 同時支援雲端和本機 AI 模型連線、適用於各種 AI 和向量資料庫服務的許多不同的 SDK,以及其他工具,以協助您建置各種範圍和複雜性的智慧型應用程式。

決定要用哪種工具

下表根據不同目標建議採用哪種技術。

Objective 要使用的技術
為應用程式新增 AI 行為 使用 Microsoft.Extensions.AI 函式庫(MEAI)。 當你有值得衡量的項目後,再加入 評估 。
運用你自己的資料 請使用Microsoft。Extensions.DataIngestion (MEDI) 用於讀取、分割或豐富內容。 接著用Microsoft。Extensions.VectorData (MEVD) 用來儲存和檢索向量。
在 AI 用戶端之間共享或取用功能 使用 MCP 伺服器 來發布功能,或使用 MCP 用戶端 來使用這些功能。
建立一個代理系統 使用Copilot SDK作為現成的框架,或使用 Microsoft 代理框架進行多步驟目標追蹤、路由或交接。
選擇主機或執行模式 管理雲端可使用 Microsoft Foundry,本地優先或隱私敏感執行則使用 Foundry Local,以及Aspire分散式多服務系統。
改善開發者工作流程 使用 Foundry Toolkit。

大多數生產型 AI 應用結合了幾個要素:

  • 聊天或摘要生成應用程式:MEAI + 評估
  • RAG 申請:MEDI + MEVD + MEAI
  • 多代理系統:MEAI + MAF + Aspire
  • 工具互通性:MEAI + MCP 伺服器 + MCP 用戶端
  • 企業雲端應用:MEAI + Microsoft Foundry +Aspire
  • 本地優先應用程式:MEAI + Foundry Local + Foundry 工具包(開發中)

請運用以下實用規則快速做出選擇:

  • 大多數應用程式層級的 AI 功能可以從 Microsoft.Extensions.AI 開始。
  • 以您自己的資料做為回應依據時,請加入 Microsoft.Extensions.DataIngestion 和 Microsoft.Extensions.VectorData。
  • 當能力必須跨流程或產品邊界共享時,請使用 MCP。
  • 當一步指令變成多步驟工作流程時,就轉向代理框架。
  • 當行為足夠有用,可以衡量並防止迴歸時,再加入評估。

Microsoft.Extensions.AI 程式庫

Microsoft.Extensions.AI 是一組核心 .NET 連結庫,可提供整合的 C# 抽象層,以便與 AI 服務互動,例如小型和大型語言模型(SLM 和 LLM)、內嵌和中間件。 這些 API 是與 .NET 生態系統的開發者合作開發的。 低階 API,例如 IChatClient 和 IEmbeddingGenerator<TInput,TEmbedding>,是從語意核心擷取並移至 Microsoft.Extensions.AI 命名空間。

Microsoft.Extensions.AI 提供可由各種服務實作的抽象概念,全都遵守相同的核心概念。 此連結庫不打算提供針對任何特定提供者服務量身打造的 API。 目標是 Microsoft.Extensions.AI 在 .NET 生態系統中作為統一層,讓開發人員能夠選擇其慣用的架構和連結庫,同時確保生態系統之間的無縫整合和共同作業。

MEAI 為 .NET 開發者提供了乾淨的模型互動抽象。 它自然地融入相依注入、設定及現有應用程式架構中,並且是 AI 支援的 .NET 應用程式通常的第一層。

MEAI 本身並不是一個代理框架。 使用 MEAI 可以建立一次性通話、聊天功能或工具呼叫迴圈,而不會變得「代理化」。當系統需要目標導向、多步驟的協調時,則改用 MAF 。

欲了解更多資訊,請參閱 Microsoft.Extensions.AI overview。

評估程式庫

Microsoft。Extensions.AI.Evaluation library 是基於 .NET AI 堆疊所建構的 AI 特性的品質與回歸層。 隨著提示詞、模型和工具的演進,AI 行為會迅速改變。 評估函式庫讓團隊有可重複的方式比較輸出並捕捉迴歸結果。

如需詳細資訊,請參閱 Microsoft.Extensions.AI.Evaluation libraries。

Microsoft.Extensions.DataIngestion (MEDI)

Microsoft.Extensions.DataIngestion 是 .NET 中可供 AI 使用的資料擷取和準備層。

許多 AI 應用程式在檢索前就失敗了,因為資料混亂、過於龐大,或結構不佳。 吞入品質強烈影響後續答案的品質。 MEDI 會準備並整理資料,供 MEVD 或其他儲存體後續查詢。

欲了解更多資訊,請參閱 AI 應用程式的資料攝取。

Microsoft.Extensions.VectorData (MEVD)

Microsoft。Extensions.VectorData 是用於語意搜尋、相似性查詢及基礎化的向量資料儲存層,應用於.NET AI 應用中。

MEVD 為 .NET 應用程式提供一致的向量儲存方式,並協助將向量儲存與檢索問題與模型調用問題區分開來。

欲了解更多資訊,請參閱 Vector 商店概覽。

MCP 伺服器

MCP 伺服器透過模型上下文協定(Model Context Protocol)公開工具、資源或提示詞等功能,讓其他助理、IDE 和代理能透過標準協定發現並使用它們。

MCP 伺服器將應用程式功能轉化為可重複使用的面向 AI 的端點。 它減少了助理間重複的工具整合工作,並創造了能力提供者與能力使用者之間的更清晰界線。

MCP 伺服器的重點在於 發佈 功能。 如果此功能僅在單一應用程式中使用,一般的流程中函式呼叫會更簡單。

MCP 用戶端

MCP 用戶端是協定的消費者端:它連接 MCP 伺服器,並將其外露的功能帶入應用程式、助理或代理執行時。

MCP 用戶端的重點在於 使用 能力,而不是發布這些能力。 如果應用程式需要的一切都在本地且正在進行中,一般的功能或工具呼叫仍然簡單許多。

欲了解更多資訊,請參閱 「開始使用 MCP」。

Microsoft 代理框架(MAF)

Microsoft Agent Framework 是真正代理系統的協調層:它們會跨越多個步驟追求目標,過程中做出決策,使用工具,並可能協調多個代理。

不是每個 AI 功能都需要 MAF。 如果直接呼叫 MEAI 或簡單的工具呼叫迴圈能解決問題,請採用更簡單的方法。 當編排複雜度是真正的挑戰,而不僅僅是模型存取時,MAF 才是關鍵。

更多資訊請參見 Microsoft代理框架概述。

鑄造廠工具包

Foundry Toolkit 是一個用於 AI 開發的 VS Code 擴充包,能加速模型、提示、代理與評估的實驗。

Foundry Toolkit 並不是生產應用程式的核心執行時架構。 它與 MEAI、Evaluations 和 Foundry Local 相輔相成。

欲了解更多資訊,請參閱 Visual Studio Code 的 Foundry 工具包。

Copilot SDK

Copilot SDK 是一套預先建構的代理架構與執行環境,能立即提供工具、上下文與自動工具調用功能。

Copilot SDK 比 MEAI 更有主見且預先設定。 如果你的目標是完全客製化的應用程式架構,直接 MEAI 或 MAF 組合會更適合你。

欲了解更多資訊,請參閱 Copilot SDK 倉庫。

Microsoft Foundry

Microsoft Foundry 是企業 AI 解決方案的託管雲端平台層,主要功能為模型管理與託管代理。

Microsoft Foundry 並非面向應用程式的程式設計抽象;MEAI 在 .NET 程式碼中仍然扮演著這個角色。 當真正的問題是模型運行於何處及受何控制時,Microsoft Foundry 成為合適的領導者。

欲了解更多資訊,請參閱 Microsoft Foundry 文件。

當地鑄造廠

Foundry Local 是一個本地開發與本地優先部署的選項,適合需要將 AI 工作負載保持在機器或環境附近的團隊。

Foundry Local 著重於開發與部署路徑,而非高階應用程式架構本身。 本地到雲端並非一對一的簡單轉換,因此在功能、主機模式和營運上會有差異。

欲了解更多資訊,請參閱 Foundry 本地文件。

Aspire

Aspire 是分散式.NET應用的協調、服務配線與可觀察層,包括跨多服務的 AI 系統。

一旦涉及檢索、工具、閘道器和工作者服務,AI 系統往往就不再只是「單一應用程式」。 Aspire 幫助團隊保持這些部分的可理解與可觀察性,其視覺化也讓追蹤跨服務的 AI 流動變得更容易。

Aspire 並不是特指 AI 執行階段;而是圍繞它的多服務應用層。 它不會取代 MEAI、MAF 或 Microsoft Foundry。

欲了解更多資訊,請參閱 Aspire 文件。