当前位置: 代码网 > it编程>编程语言>Asp.net > 如何使用Microsoft.Extensions.AI简化.NET中的AI集成

如何使用Microsoft.Extensions.AI简化.NET中的AI集成

2025年02月13日 Asp.net 我要评论
项目介绍microsoft.extensions.ai是一个创新的 .net 库,它为平台开发人员提供了一个内聚的 c# 抽象层,简化了与大型语言模型 (llms) 和嵌入等 ai 服务的交互。它支持

项目介绍

microsoft.extensions.ai是一个创新的 .net 库,它为平台开发人员提供了一个内聚的 c# 抽象层,简化了与大型语言模型 (llms) 和嵌入等 ai 服务的交互。它支持通过一组一致且标准化的 api 和约定将 ai 功能无缝集成到 .net 应用程序中。

注意:目前microsoft.extensions.ai还是处于预览版,预计该库将在2024年11月的.net 9版本之前都是保持预览状态(需要收集反馈意见),耐心等待微软官方发布正式版!

项目特色

  • 统一的api:提供一组一致的 api 和约定,用于将 ai 服务集成到 .net 应用程序中。
  • 灵活性:允许 .net 库作者使用 ai 服务,而无需绑定到特定提供商,使其适用于任何提供商。
  • 易用性:使 .net 开发人员能够使用相同的底层抽象试验不同的包,并在整个应用程序中维护单个 api。
  • 组件化:简化新功能的添加,并促进应用程序的组件化和测试。

项目作用

microsoft.extensions.ai类库不仅简化了ai功能的集成,还促进了.net生态系统的创新。它使得开发者可以更加专注于应用程序的业务逻辑和功能实现,而不必花费大量时间和精力在ai服务的集成和调试上。

项目nuget包

https://www.nuget.org/packages/microsoft.extensions.ai

命令安装:

dotnet add package microsoft.extensions.ai --version 9.0.0-preview.9.24556.5

ai服务的常见抽象

ichatclient 接口允许使用语言模型,无论是远程托管还是本地运行。任何提供 ai 客户端的 .net 包都可以实现此接口,从而实现与正在使用的 .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

优秀项目和框架精选

该项目已收录到c#/.net/.net core优秀项目和框架精选中,关注优秀项目和框架精选能让你及时了解c#、.net和.net core领域的最新动态和最佳实践,提高开发工作效率和质量。坑已挖,欢迎大家踊跃提交pr推荐或自荐(让优秀的项目和框架不被埋没🤞)。

  • github开源地址:https://github.com/ysgstudyhards/dotnetguide/blob/main/docs/dotnet/dotnetprojectpicks.md
  • gitee开源地址:https://gitee.com/ysgdaydayup/dotnetguide/blob/main/docs/dotnet/dotnetprojectpicks.md

到此这篇关于使用microsoft.extensions.ai简化.net中的ai集成的文章就介绍到这了,更多相关microsoft.extensions.ai ai集成内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com