OpenAI 发布适用于 .NET 库的稳定版本
OpenAI 在 6 月发布测试版后发布了其官方 .NET 库的稳定版本。它以 NuGet 包的形式提供,支持 GPT-4o 和 GPT-4o mini 等最新模型,以及完整的 OpenAI REST API。该版本包括同步和异步 API、流式聊天完成以及用于提高 API 一致性的关键性更改。开发人员可以扩展该库,并在支持 .NET Standard 2.0 的所有 .NET 平台上使用它。
Microsoft 的 .NET 团队在 10 月 1 日的一篇文章中说。“今天,我们很高兴地宣布,适用于 .NET 的官方 OpenAI 库的稳定版本现已上线。此版本可确保开发人员在其 .NET 应用程序中使用 OpenAI 和 Azure OpenAI 服务时获得流畅可靠的集成体验。
其目的是提供工具来简化将 OpenAI 的尖端模型集成到 .NET 应用程序中的过程,为开发人员提供简化的体验,用 Microsoft 的话来说,其功能包括:
- 完整的 OpenAI REST API 支持:包括 Assistants v2 和 Chat Completions,可实现灵活和高级的交互。
- 支持最新型号:OpenAI 的最新旗舰模型,包括 GPT-4o、GPT-4o mini、o1-preview 和 o1-mini,得到全面支持,确保开发人员能够获得尖端的 AI 功能。
- 扩展:该库在设计时考虑了可扩展性,允许社区在其上构建其他库。
- 同步和异步 API:这确保了开发人员可以根据其应用程序的需求灵活地使用同步或异步模式。
- 流式补全:通过 IAsyncEnumerable 访问流式补全,从而提供更动态的交互模型。
- 代码质量改进:在整个测试周期中,根据社区反馈进行了大量改进。
- .NET Standard 2.0 兼容性:此库以 C# 编写,支持实现 .NET Standard 2.0 的所有 .NET 变体,确保与最新的 .NET 平台兼容。
对于从 2.0.0-beta.* 版本升级的开发人员,引入了几项重大更改,以提高 API 的一致性和可用性:
ChatMessageContent现在将内容部分封装在ChatMessage、ChatCompletionStreaming和ChatCompletionUpdate中。- 函数参数现在表示为多个区域,包括
BinaryDataChatToolCall和StreamingChatToolCallUpdate。 - 应用了多种重命名约定:已重命名为
ApplicationId、UserAgentApplicationId为FileClient和OpenAIFileClient为ModelClient ,等。OpenAIModelClient - 已弃用的构造函数和方法已替换为新选项
ChatFunctionChoice,例如将Auto和None替换为CreateAutoChoice()和CreateNoneChoice()。
其 GitHub 存储库说明了如何使用 Azure OpenAI:
对于 Azure OpenAI 方案,请使用 Azure SDK,更具体地说,使用适用于 .NET 的 Azure OpenAI 客户端库。
适用于 .NET 的 Azure OpenAI 客户端库是此库的配套库,OpenAI 和 Azure OpenAI 之间的所有常见功能共享相同的方案客户端、方法和请求/响应类型。它旨在使 Azure 特定方案变得简单明了,并扩展了 Azure 特定概念,例如负责任 AI 内容筛选器结果和“On Your Data”集成。
这些更改增强了清晰度并保持了整个 API 的一致性。适用于 .NET 的 OpenAI 库是开源的,并根据 GitHub 上的持续社区贡献开发。它将继续接收更新,与 OpenAI 的最新功能和改进保持一致。该库以及 OpenAI 现有的 Python 和 JavaScript/TypeScript 库可确保为跨不同平台工作的开发人员提供统一的体验。社区很高兴能够探索此稳定版本的全部潜力,这标志着在为 .NET 生态系统提供强大的 AI 功能方面向前迈出了重要一步,提供了构建高级应用程序所需的工具。
OpenAI 发布适用于 .NET 库的稳定版本的更多相关文章
- 【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服
前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有 ...
- centos 安装最新稳定版本docker
直接yum安装的docker版本是 : docker --versionDocker version 1.12.6, build 85d7426/1.12.6 一些新特性需要安装最新的稳定版本 国内可 ...
- hadoop最新稳定版本使用建议
Apache Hadoop Apache版本衍化比较快,我给大家介绍一下过程 ApacheHadoop版本分为两代,我们将第一代Hadoop称为Hadoop 1.0,第二代Hadoop称为Hadoop ...
- 手把手图文并茂教你发布Android开源库
转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼,文章链接: http://blog.csdn.net/hejjunlin/article/details/52452220 经常逛githu ...
- 教你一步步发布一个开源库到 JCenter
今天想来分享下,如何一步步自己发布一个开源库到 JCenter 这方面的博客网上已经特别多了,所以本篇并不打算仅仅只是记录流程步骤而已,而是尽可能讲清楚,为什么需要有这个步骤,让大伙知其然的同时还知其 ...
- 官宣,PyTorch 1.0 稳定版本现已推出
简评:快来一起快乐地学习吧. 随着 PyTorch 生态系统和社区继续为开发人员提供有趣的新项目和教育资源,今天(12 月 7日)在 NeurIPS 会议上发布了 PyTorch 1.0 稳定版.研究 ...
- 发布Android开源库,看这个文章就够了!
最近在Flipboard实习期间写了一个轮播工具,技术上没什么难点,不过动画效果还是不错的,决定改改代码写个库开源出去.项目地址:http://github.com/chengdazhi/Decent ...
- 使用Jitpack发布开源Java库
原文:使用Jitpack发布开源Java库 | Stars-One的杂货小窝 很久之前也写过一篇使用Jitpack发布Android开源库的文章,详见Android开发--发布第三方库到JitPack ...
- 创建/发布cocoapods公共库
对于大多数iOS开发者而言,cocoapods都是一个非常便捷的第三方库引导工具,该工具可以帮助我们快速导入所需第三方库,并且进行相关配置. 本文即为描述如何发布一个第三方库,提供给所有的开发者使用. ...
- MyEclipse安装插件的几种方式(适用于Eclipse或MyEclipse其他版本)
MyEclipse2014安装插件的几种方式(适用于Eclipse或MyEclipse其他版本) 2014-04-28 21:09 MyEclipse 阿超 19171 views 众所周知M ...
随机推荐
- java的自动拆箱会发生NPE
平时的小细节,总能在关键时刻酿成线上事故,最近在代码中使用了Integer的自动拆箱功能,结果NPE(NullPointException)了,悲剧啊... 一.何为自动拆箱 要说自动拆箱,就必须说自 ...
- 使用git(ee的一个小总结
我先把后端项目推进了gitee,后面为了方便又想把前端也放在同一个项目里,结果出问题了: 一开始是因为前端项目内包含了.git的文件(这个玩意还是隐藏文件,就是你在idea里其实是看不到他的),导致只 ...
- Linux 有趣命令
代码雨 1.上传软件包 Linux 获取 wget https://jaist.dl.sourceforge.net/project/cmatrix/cmatrix/1.2a/cmatrix-1.2a ...
- 《最新出炉》系列初窥篇-Python+Playwright自动化测试-59 - 判断元素是否显示 - 上篇
1.简介 有些页面元素的生命周期如同流星一闪,昙花一现.我们也不知道这个元素在没在页面中出现过,为了捕获这一美好瞬间,让其成为永恒.我们就来判断元素是否显示出现过. 在操作元素之前,可以先判断元素的状 ...
- 【Scala】01 基础了解
Features 特性 1.基于JVM,完全兼容Java 2.同样具有跨平台,可移植,垃圾回收 3.比Java更加的面向对象[完全面向对象] 4.函数式编程 5.面向大数据处理,对集合容器框架有一定的 ...
- 【Layui】05 进度条 Progress
文档地址: https://www.layui.com/doc/element/progress.html 演示案例: <div class="layui-progress" ...
- 【转载】 在Ubuntu环境下,搜狗输入法乱码问题的解决
原文作者:高坦的博客 | Tan's Blog 原文链接:https://www.cnblogs.com/gtscool/p/12234104.html本文采用 BY-NC-SA 许可协议.转载请注明 ...
- js 实现俄罗斯方块(三)
我又来啦!上一篇有点水,本篇我们来干货! 嘿嘿,首先我们先搭建游戏世界------网格 所有的操作包括左移右移下移旋转都是在这个网格中 既然是使用js来写当然跑不了html啦,实现网格最简单的 方法就 ...
- @ComponentScan
@ComponentScan 是一个注解,用于Spring框架,它允许开发者指定Spring应该扫描哪个包或包下的子包来寻找组件(如@Component.@Service.@Repository等注解 ...
- 初探 Rust 语言与环境搭建
1. Rust 简介 Rust 的历史 起源:Rust 语言最初由 Mozilla 研究员 Graydon Hoare 于 2006 年开始设计,并于 2009 年首次公开. 开发:Rust 是 Mo ...