相关动态
Microsoft.Extensions.AI 预览版简介 – 适用于 .NET 的统一 AI 构建块
2024-12-26 20:48

 目录

什么是 Microsoft.Extensions.AI

Microsoft.Extensions.AI 的优势

核心优势

人工智能服务的通用抽象

标准中间件实现

如何开始

聊天

Azure AI Inference (GitHub Models)

OpenAI

Azure OpenAI

Ollama

嵌入

OpenAI

Azure OpenAI

Ollama

开始使用 Microsoft.Extensions.AI 进行构建

Microsoft.Extensions.AI 的下一步计划

Microsoft.Extensions.AI 预览版简介 – 适用于 .NET 的统一 AI 构建块


我们很高兴地宣布 Microsoft.Extensions.AI.Abstractions 和 Microsoft.Extensions.AI 库现已推出预览版。这些软件包为 .NET 生态系统提供了将 AI 服务集成到 .NET 应用程序和库中的基本抽象,以及用于添加关键功能的中间件。

为了支持 .NET 生态系统,.NET 团队使用这些抽象或“交换类型”增强了核心 Microsoft.Extensions 库,以用于 .NET 生成式 AI 应用程序和库。

人工智能功能正在快速发展,诸如“聊天”、嵌入和工具调用等功能出现了常见模式。统一的抽象对于开发人员跨不同来源有效工作至关重要。中间件可以在不增加生产者负担的情况下添加有价值的功能,从而立即使消费者受益。

例如,IChatClient 接口允许使用语言模型,无论是远程托管还是本地运行。任何提供 AI 客户端的 .NET 包都可以实现此接口,从而实现与使用 .NET 代码的无缝集成。

 

然后,无论您使用哪个提供商,您都可以按如下方式发送请求:​​​​​​​

 

Microsoft.Extensions.AI 是一组由 .NET 生态系统中的开发人员(包括 Semantic Kernel)共同开发的核心 .NET 库。这些库提供了一个统一的 C# 抽象层,用于与 AI 服务交互,例如小型和大型语言模型(SLM 和 LLM)、嵌入和中间件。

目前,我们的重点是创建可由各种服务实现的抽象,所有抽象均遵循相同的核心概念。我们不打算发布针对任何特定提供商的服务而量身定制的 API。我们的目标是充当 .NET 生态系统中的统一层,使开发人员能够选择他们喜欢的框架和库,同时确保整个生态系统的无缝集成和协作。

Microsoft.Extensions.AI 为 AI 服务提供了统一的 API 抽象,类似于我们成功的日志记录和依赖项注入 (DI) 抽象。我们的目标是为缓存、遥测、工具调用和其他可与任何提供商配合使用的常见任务提供标准实现。

  • 统一 API:提供一组一致的 API 和约定,用于将 AI 服务集成到 .NET 应用程序中。

  • 灵活性:允许 .NET 库作者使用 AI 服务而无需绑定到特定的提供商,从而使其能够适应任何提供商。

  • 易用性:使 .NET 开发人员能够使用相同的底层抽象尝试不同的包,并在整个应用程序中维护单个 API。

  • 组件化:简化新功能的添加,便于应用程序的组件化和测试。

这些抽象让您可以轻松地在各种场景中使用惯用的 C# 代码,并且只需进行最少的代码更改,无论您是使用不同的服务进行开发或生产、解决混合场景还是探索其他服务提供商。

实现这些抽象的库作者将使他们的客户端能够与更广泛的 Microsoft.Extensions.AI 生态系统互操作。特定服务的 API 在需要时仍可访问,允许用户使用标准抽象编写代码,并仅在需要时传递到专有 API。

 

在这个预览版中,我们为以下服务提供了参考实现

  • OpenAI

  • Azure AI Inference

  • Ollama

但是,我们打算与 .NET 生态系统中的软件包作者合作,以便这些 Microsoft.Extensions.AI 抽象的实现最终成为相应客户端库的一部分,而不需要安装其他软件包。如果您有一个针对特定 AI 服务的 .NET 客户端库,我们很乐意在您的库中看到这些抽象的实现。

连接和使用 AI 服务只是构建强大应用程序的一个方面。生产就绪型应用程序需要遥测、日志记录和工具调用功能等附加功能。Microsoft.Extensions.AI 抽象使开发人员能够使用熟悉的模式轻松地将这些组件集成到他们的应用程序中。

以下示例演示了如何注册 OpenAI IChatClient。IChatClient 允许您以一致的方式在各个提供商之间附加功能。

 

上面演示的功能包含在 Microsoft.Extensions.AI 库中,但它们只是使用此方法可以分层添加的功能的一小部分。我们很高兴看到 .NET 开发人员的创造力随着各种类型的中间件的出现而闪耀,这些中间件可用于创建强大、可靠的 AI 相关功能。

Microsoft.Extensions.AI 从今天开始提供预览版。

首先,您可以创建一个控制台应用程序,并为您正在使用的相应 AI 服务安装 Microsoft.Extensions.AI 包。

以下示例展示了如何在聊天场景中使用 Microsoft.Extensions.AI。

Azure AI Inference (GitHub Models)

  1. 安装 Microsoft.Extensions.AI.AzureAIInference NuGet 包,该包可与 GitHub Models 和 Azure AI Model Catalog 中的模型配合使用。

  2. 将以下代码添加到您的应用程序中。将 GH_TOKEN 替换为您的 GitHub 个人访问令牌。

 

OpenAI

  1. 安装 Microsoft.Extensions.AI.OpenAI NuGet 包。

  2. 将以下代码添加到您的应用程序中。将 OPENAI_API_KEY 替换为您的 OpenAI 密钥。

 

Azure OpenAI

  1. 安装 Microsoft.Extensions.AI.OpenAI、Azure.AI.OpenAI 和 Azure.Identity NuGet 包。

  2. 将以下代码添加到您的应用程序。将 AZURE_OPENAI_ENDPOINT 替换为您的 Azure OpenAI 端点,将 modelId 替换为您的部署名称。

 

Ollama

  1. 安装 Microsoft.Extensions.AI.Ollama NuGet 包。

  2. 将以下代码添加到您的应用程序中。

 

与聊天类似,您也可以使用 Microsoft.Extensions.AI 进行文本嵌入生成场景。

OpenAI

  1. 安装 Microsoft.Extensions.AI.OpenAI NuGet 包。

  2. 将以下代码添加到您的应用程序中。将 OPENAI_API_KEY 替换为您的 OpenAI 密钥。

 

Azure OpenAI

  1. 安装 Microsoft.Extensions.AI.OpenAI、Azure.AI.OpenAI 和 Azure.Identity NuGet 包。

  2. 2.将以下代码添加到您的应用程序中。将 AZURE_OPENAI_ENDPOINT 替换为您的 Azure OpenAI 端点,将 modelId 替换为您的部署名称。

 

Ollama

  1. 安装 Microsoft.Extensions.AI.Ollama NuGet 包。

  2. 将以下代码添加到您的应用程序中。

 

Microsoft.Extensions.AI.AzureAIInference NuGet 包

https://www.nuget.org/packages/Microsoft.Extensions.AI.AzureAIInference/

GitHub Models

https://devblogs.microsoft.com/dotnet/using-github-models-and-dotnet-to-build-generative-ai-apps/

Azure AI Model Catalog

https://devblogs.microsoft.com/dotnet/azure-ai-model-catalog-dotnet-inference-sdk/

Microsoft.Extensions.AI.OpenAI NuGet 包

https://aka.ms/meai-openai-nuget

Microsoft.Extensions.AI.OpenAI

https://www.nuget.org/packages/Microsoft.Extensions.AI.OpenAI/

Azure.AI.OpenAI

https://www.nuget.org/packages/Azure.AI.OpenAI

Azure.Identity

https://www.nuget.org/packages/Azure.Identity

Microsoft.Extensions.AI.Ollama NuGet 包

https://www.nuget.org/packages/Microsoft.Extensions.AI.Ollama/

随着 Microsoft.Extensions.AI 的发布,我们很高兴能够为 AI 应用程序开发构建生态系统的基础。以下是您可以参与其中并开始使用 Microsoft.Extensions.AI 的一些方法

  • 库开发人员:如果您拥有提供 AI 服务客户端的库,请考虑在您的库中实现接口。这样,用户就可以通过抽象轻松集成您的 NuGet 包。

  • 服务使用者:如果您正在开发使用 AI 服务的库,请使用抽象,而不是硬编码到特定的 AI 服务。这种方法让您的用户可以灵活地选择他们喜欢的服务。

  • 应用程序开发人员:尝试使用抽象来简化与您的应用程序的集成。这样可以实现跨模型和服务的可移植性,促进测试和模拟,利用生态系统提供的中间件,并在整个应用程序中保持一致的 API,即使您在应用程序的不同部分使用不同的服务(即本地和托管模型混合场景)。

  • 生态系统贡献者:如果您有兴趣为生态系统做出贡献,请考虑编写自定义中间件组件。

我们在 dotnet/ai-samples GitHub 存储库中提供了一组示例来帮助您入门。

有关使用 Microsoft.Extensions.AI 的端到端示例,请参阅 eShopSupport。

dotnet/ai-samples 

https://github.com/dotnet/ai-samples?tab=readme-ov-file#microsoftextensionsai-preview

eShopSupport

https://github.com/dotnet/eShopSupport

如上所述,我们目前正在发布 Microsoft.Extensions.AI 预览版。我们预计该库将在 11 月 .NET 9 发布之前一直处于预览状态,同时我们将继续收集反馈。

在短期内,我们计划

  • 继续与 Semantic Kernel 合作,将 Microsoft.Extensions.AI 集作为其基础层。有关更多详细信息,请查看 Semantic Kernel 博客上的帖子。

  • 更新现有示例(如 eShop)以使用 Microsoft.Extensions.AI。

  • 与 .NET 生态系统中的每个人合作,推广Microsoft.Extensions.AI的使用。提供商实现的抽象层越多,消费者使用它的就越多,中间件组件构建得越多,所有组件就越强大。

我们期待在您的帮助下塑造 .NET 中 AI 开发的未来。

请试用 Microsoft.Extensions.AI 并分享您的反馈,以便我们能够构建有助于您和您的团队蓬勃发展的体验。

Semantic Kernel 博客上

https://devblogs.microsoft.com/semantic-kernel/microsoft-extensions-ai-simplifying-ai-integration-for-net-partners/

分享您的反馈

https://github.com/dotnet/extensions/issues

    以上就是本篇文章【Microsoft.Extensions.AI 预览版简介 – 适用于 .NET 的统一 AI 构建块】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/news/13103.html
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站 http://ww.kub2b.com/mobile/ , 查看更多   
最新文章
以“心”聚力,共铸电影辉煌
1905电影网专稿 4月10日至13日,电影频道节目中心在全国宣传干部学院(八大处校区)成功主办全国电影宣传骨干人才培训班(第一期
人人都需要一场1v4的恋爱
作者|谢明宏编辑|李春晖让人看得津津有味又醒世育人的爱情剧以几个“对手”为宜?这大概也和现实生活差不多,一个人千挑万选,两
一辆自动驾驶车需要几根天线?手机供应商「一辆自动驾驶车需要几根天线?」
未来,一辆车子究竟需要使用多少天线,才能具备自动驾驶的能力? 这可不是在开玩笑的!根据爱尔兰天线技术供应商——锐锋(Taogla
Use of Cookies and Other Tracking Technologies黑莓手机官网「Use of Cookies and Other Tracking Technologies」
Last Updated: January 1, 2023This notice describes the types of Cookies and Other Tracking Technologies (“Cookies”) th
nfc安卓手机怎么设置手机nfc功能在哪里「nfc安卓手机怎么设置」
NFC在安卓手机上的设置指南随着科技的不断进步,NFC(近场通讯)技术已经越来越普及。许多安卓手机都配备了NFC功能,它不仅能够
关税加码,普通投资者如何应对?
4月7日,股市经历剧烈波动,上证指数单日下跌7.34%,交易资金触及止损后恐慌性出逃,但更值得关注的是股指期货端出现历史极端行
2025年北京市全民健身“社区杯”骑行系列活动第四站举办
4月15日,2025年北京市全民健身社区杯骑行系列活动暨京彩骑行第四站在北京经济技术开发区亦庄新城滨河森林公园举行。本次活动以
小米一键上锁神器轻松加密,安全守护您的隐私加密手机「小米一键上锁神器轻松加密,安全守护您的隐私」
在互联网时代,信息安全已经成为每个人都需要关注的问题。尤其是在智能手机普及的今天,我们的个人信息、聊天记录、支付密码等隐
午盘:美股涨幅扩大 道指涨逾300点美股手机新浪网「午盘:美股涨幅扩大 道指涨逾300点」
  北京时间6日凌晨,美股周二午盘涨幅扩大,道指上涨逾300点,纳指上涨1.3%。市场密切关注美国总统大选选情,以及本周的财报与
Isomorphic Labs获6亿美元,加速 AI 药物研发
金融时报消息,总部位于英国伦敦的 Isomorphic Labs 宣布完成6 亿美元融资。本次由 Thrive Capital 领投,现有投资者谷歌的