如何使用Microsoft.Extensions.AI簡化.NET中的AI集成
項目介紹
Microsoft.Extensions.AI是一個創(chuàng)新的 .NET 庫,它為平臺開發(fā)人員提供了一個內(nèi)聚的 C# 抽象層,簡化了與大型語言模型 (LLMs) 和嵌入等 AI 服務(wù)的交互。它支持通過一組一致且標準化的 API 和約定將 AI 功能無縫集成到 .NET 應(yīng)用程序中。
注意:目前Microsoft.Extensions.AI還是處于預(yù)覽版,預(yù)計該庫將在2024年11月的.NET 9版本之前都是保持預(yù)覽狀態(tài)(需要收集反饋意見),耐心等待微軟官方發(fā)布正式版!

項目特色
- 統(tǒng)一的API:提供一組一致的 API 和約定,用于將 AI 服務(wù)集成到 .NET 應(yīng)用程序中。
- 靈活性:允許 .NET 庫作者使用 AI 服務(wù),而無需綁定到特定提供商,使其適用于任何提供商。
- 易用性:使 .NET 開發(fā)人員能夠使用相同的底層抽象試驗不同的包,并在整個應(yīng)用程序中維護單個 API。
- 組件化:簡化新功能的添加,并促進應(yīng)用程序的組件化和測試。
項目作用
Microsoft.Extensions.AI類庫不僅簡化了AI功能的集成,還促進了.NET生態(tài)系統(tǒng)的創(chuàng)新。它使得開發(fā)者可以更加專注于應(yīng)用程序的業(yè)務(wù)邏輯和功能實現(xiàn),而不必花費大量時間和精力在AI服務(wù)的集成和調(diào)試上。
項目NuGet包
https://www.nuget.org/packages/Microsoft.Extensions.AI
命令安裝:
dotnet add package Microsoft.Extensions.AI --version 9.0.0-preview.9.24556.5
AI服務(wù)的常見抽象
IChatClient 接口允許使用語言模型,無論是遠程托管還是本地運行。任何提供 AI 客戶端的 .NET 包都可以實現(xiàn)此接口,從而實現(xiàn)與正在使用的 .NET 代碼的無縫集成。
public interface IChatClient : IDisposable
{
Task<ChatCompletion> CompleteAsync(...);
IAsyncEnumerable<StreamingChatCompletionUpdate> CompleteStreamingAsync(...);
ChatClientMetadata Metadata { get; }
TService? GetService<TService>(object? key = null) where TService : class;
} OpenAI
using OpenAI;
using Microsoft.Extensions.AI;
IChatClient client =
new OpenAIClient(Environment.GetEnvironmentVariable("OPENAI_API_KEY"))
.AsChatClient(modelId: "gpt-4o-mini");
var response = await client.CompleteAsync("C#是什么?");
Console.WriteLine(response.Message);Azure OpenAI
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Extensions.AI;
IChatClient client =
new AzureOpenAIClient(
new Uri(Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")),
new DefaultAzureCredential())
.AsChatClient(modelId: "gpt-4o-mini");
var response = await client.CompleteAsync("C#是什么?");
Console.WriteLine(response.Message);參考文章
https://devblogs.microsoft.com/dotnet/introducing-microsoft-extensions-ai-preview
項目源碼地址
更多項目實用功能和特性歡迎前往項目開源地址查看??,別忘了給項目一個Star支持??。
- 開源地址:https://github.com/dotnet/extensions
優(yōu)秀項目和框架精選
該項目已收錄到C#/.NET/.NET Core優(yōu)秀項目和框架精選中,關(guān)注優(yōu)秀項目和框架精選能讓你及時了解C#、.NET和.NET Core領(lǐng)域的最新動態(tài)和最佳實踐,提高開發(fā)工作效率和質(zhì)量??右淹?,歡迎大家踴躍提交PR推薦或自薦(讓優(yōu)秀的項目和框架不被埋沒??)。
- GitHub開源地址:https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
- Gitee開源地址:https://gitee.com/ysgdaydayup/DotNetGuide/blob/main/docs/DotNet/DotNetProjectPicks.md
到此這篇關(guān)于使用Microsoft.Extensions.AI簡化.NET中的AI集成的文章就介紹到這了,更多相關(guān)Microsoft.Extensions.AI AI集成內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#后臺調(diào)用前臺javascript的五種方法小結(jié)
于項目需要,用到其他項目組用VC開發(fā)的組件,在web后臺代碼無法訪問這個組件,所以只好通過后臺調(diào)用前臺的javascript,從而操作這個組件。2010-12-12
ASP.NET Core WebAPI實現(xiàn)本地化(單資源文件)
這篇文章主要介紹了ASP.NET Core WebAPI實現(xiàn)本地化(單資源文件),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
AspNetPager分頁控件UrlRewritePattern參數(shù)設(shè)置的重寫代碼
AspNetPager分頁控件UrlRewritePattern參數(shù)設(shè)置的重寫代碼,需要的朋友可以參考一下2013-02-02

