.NET + AI 生態系統概觀
.NET 生態系統提供許多功能強大的工具、程式庫和服務來開發 AI 應用程式。 .NET 同時支援雲端和本機 AI 模型連線、適用於各種 AI 和向量資料庫服務的許多不同的 SDK,以及其他工具,以協助您建置各種範圍和複雜性的智慧型應用程式。
重要
本文件中呈現的 SDK 和服務並非全是由Microsoft 維護。 考慮 SDK 時,請務必評估其品質、授權和支援和相容性,以確保其符合您的需求。
適用於 .NET 的 Microsoft.Extensions.AI 連結庫
Microsoft.Extensions.AI
是一組核心 .NET 連結庫,是與整個 .NET 生態系統的開發人員共同作業所建立的核心 .NET 連結庫,包括語意核心。 這些連結庫提供一個統一的 C# 抽象層,可與 AI 服務互動,例如小型和大型語言模型(SLM 和 LLM)、內嵌和中間件。
Microsoft.Extensions.AI
提供可由各種服務實作的抽象概念,全都遵守相同的核心概念。 此連結庫不打算提供針對任何特定提供者服務量身打造的 API。 目標是 Microsoft.Extensions.AI
在 .NET 生態系統中作為統一層,讓開發人員能夠選擇其慣用的架構和連結庫,同時確保生態系統之間的無縫整合和共同作業。
語意核心是開放原始碼 SDK,可讓您在 .NET 應用程式中啟用 AI 整合和協調流程功能。 針對與其他 API 或 Web 服務、資料存放區和自訂程式碼搭配使用一或多個 AI 服務的 .NET 應用程式,此 SDK 通常是推薦的 AI 協調流程工具。 語意核心可透過下列方式讓企業開發人員受益:
- 簡化 AI 功能與現有應用程式的整合,以為企業產品啟用一致性的解決方案。
- 提供降低複雜性的抽象概念,將處理不同 AI 模型或服務的學習曲線降到最低。
- 減少 AI 模型提示和回應無法預測的行為,改善可靠性。 您可以微調提示和規劃工作,以建立受控且可預測的使用者體驗。
如需詳細資訊,請參閱 語意核心文件。
根據目標平台或 AI 模型,.NET 可使用許多不同的 SDK 來建置具有 AI 功能的應用程式。 OpenAI 模型提供強大的生成式 AI 功能,而其他 Azure AI 服務則針對各種特定案例提供智慧型解決方案。
Azure 提供許多其他 AI 服務,以建置特定的應用程式功能和工作流程。 這些服務大部分都提供 .NET SDK,以將其功能整合到自訂應用程式中。 下表會顯示一些最常用的服務。 如需可用服務和學習資源的完整清單,請參閱 Azure AI Services 文件。
.NET 應用程式也可以連線到許多不同開發案例的本機 AI 模型。 語意核心是使用 .NET 連線到本機模型的建議工具。 語意核心可以連線到裝載於各種平台的許多不同模型,並將較低層級的實作詳細資料抽象化。
例如,您可以使用 Ollama 來使有 .NET 連接到本地 AI 模型,包括 Microsoft 開發的多個小型語言模型 (SLM):
模型 |
描述 |
phi3 模型 |
一系列功能強大的 SLM,以低成本和低延遲提供突破性的效能。 |
orca 模型 |
對使用者給定資料進行推理、閱讀理解、數學問題解決和文字摘要等工作中的研究模型。 |
注意
上述 SLM 也可以裝載在其他服務上,例如 Azure。
AI 應用程式通常會使用資料向量資料庫和服務來改善相關性並提供自訂功能。 其中許多服務提供適用於 .NET 的原生 SDK,而其他服務則提供 REST 服務,您可以透過自訂程式碼連線。 語意核心會提供可延伸的元件模型,讓您無需了解每個 SDK 即可使用不同的向量存放區。
語意核心會提供下列向量資料庫與服務的連接器:
請瀏覽每個個別服務的文件,以探索 .NET SDK 和 API 支援。
本文總結了 .NET 生態系統中的工具和 SDK,並重點介紹了為 .NET 提供官方支援的服務。 根據您的應用程式開發需求和階段,您可能也想要查看 .NET + AI 資源的非官方清單中生態系統的開放原始碼選項。 Microsoft 不是這些許多專案的維護者,因此請務必檢閱其品質、授權和支援。