OpenAI .NET 库稳定版发布,支持 GPT-4o 并改进 API 功能

devtools/2024/10/11 1:17:22/

penAI 在6月推出其官方 .NET 库的 beta 版之后,如今终于发布了稳定版。该库已在 NuGet 上作为包发布,支持最新的模型,如 GPT-4o 和 GPT-4o mini,并且提供完整的 OpenAI REST API。这次发布包括同步和异步 API,以及流式聊天补全功能,同时还进行了关键的 API 更改,以提升一致性。开发者可以扩展该库,并在支持 .NET Standard 2.0 的所有 .NET 平台上使用。

稳定版的主要特性

稳定版引入了几个重要的新特性,以提高开发者的生产力。这些特性包括对 OpenAI 最新模型 GPT-4o 和 GPT-4o mini 的全面支持,以及完整的 OpenAI REST API。它同时提供同步和异步 API,支持通过 IAsyncEnumerable 实现的流式聊天补全,从而实现更动态的交互体验。

除此之外,开发者在扩展性上也受到了更多重视,可以在现有库的基础上构建额外的功能。该库与实现 .NET Standard 2.0 的所有 .NET 平台兼容,使得它可以应用于各种类型的 .NET 应用程序。

API 变更及升级注意事项

对于从 2.0.0-beta.* 版本升级到稳定版的开发者来说,这次发布中包含了一些破坏性更改,目的是提高 API 的一致性和可用性。

ChatMessageContent 现在封装了 ChatMessage、ChatCompletion 和 StreamingChatCompletionUpdate 中的内容部分。

ChatToolCall 和 StreamingChatToolCallUpdate 中的函数参数现在表示为 BinaryData。

多个命名发生了变化,例如 ApplicationId 重命名为 UserAgentApplicationId,FileClient 重命名为 OpenAIFileClient,ModelClient 重命名为 OpenAIModelClient 等等。

废弃的构造函数和方法被新的选项取代,例如 ChatFunctionChoice 中的 Auto 和 None 已被 CreateAutoChoice() 和 CreateNoneChoice() 替代。

这些更改有效地提高了 API 的清晰性和一致性。

开源社区的力量

OpenAI .NET 库是一个开源项目,得到了 GitHub 上社区成员的持续贡献。该库将不断获得更新,与 OpenAI 最新的功能和改进保持同步。借助这款库,以及 OpenAI 现有的 Python 和 JavaScript/TypeScript 库,开发者能够在不同的平台上获得一致的开发体验。

此次发布对 .NET 生态系统来说意义重大,为开发者提供了构建高级应用所需的工具,是将强大 AI 能力带入 .NET 平台的重要一步。正如一位资深顾问 Rakesh Mullassery 所言,这是一款革命性的工具,适合所有致力于在 .NET 平台上开发 AI 驱动应用的开发者。

更多详情和完整的更改列表,请访问 OpenAI 库的 GitHub 官方仓库。


http://www.ppmy.cn/devtools/123918.html

相关文章

【项目记录】大模型基于llama.cpp在Qemu-riscv64向量扩展指令下的部署

概述 本文在qemu-riscv64平台上,利用向量扩展指令加速运行基于llama.cpp构建的大模型。 参考博客链接: Accelerating llama.cpp with RISC-V Vector Extension 基于RVV的llama.cpp在Banana Pi F3 RISCV开发板上的演示 llama.cpp工程 Llama.cpp是一个基…

python交互式命令时如何清除

在交互模式中使用Python,如果要清屏,可以import os,通过os.system()来调用系统命令clear或者cls来实现清屏。 [python] view plain copy print? >>> import os >>> os.system(clear) 但是此时shell中的状态是:…

React18新特性

React 18新特性详解如下: 并发渲染(Concurrent Rendering): React 18引入了并发渲染特性,允许React在等待异步操作(如数据获取)时暂停和恢复渲染,从而提供更平滑的用户体验。 通过时…

Linux内核参数管理

Linux 内核有很多可以定制化的参数 —— 内核参数 ( kernel parameters ), 斟酌设置内核参数对 系统调优 意义重大。 内核参数 涵盖内核的方方面面,包括 网络 ( net )、 文件系统 ( fs )等等。 本文以 fs.file-max 参数为例,介绍设置内…

数据库中间件 -- MyCat

1、什么是数据库中间件 数据库中间件(Database Middleware)是一种位于应用程序与数据库管理系统(DBMS)之间的软件层。它的主要目的是为应用程序提供更加高效、可靠和透明的数据库访问,同时解决多种数据库管理问题。 The domain name Mycat.io is for sale 1.1、常见的数…

容器化技术:Docker的基本概念和使用

在现代软件开发和运维中,容器化技术已经成为一种不可或缺的工具。Docker作为容器化技术的代表,以其轻量级、可移植性和隔离性等特点,赢得了广泛的关注和应用。本文将详细介绍Docker的基本概念和使用方法,帮助读者快速上手Docker容…

【浏览器】如何正确使用Microsoft Edge

1、清理主页广告 如今的Microsoft Edge 浏览器 主页太乱了,各种广告推送,点右上角⚙️设置,把快速链接、网站导航、信息提要、背景等全部关闭。这样你就能得到一个超级清爽的主页。 网站导航       关闭 …

面试--开源框架面试题集合

Spring 谈谈自己对于 Spring IoC 的了解什么是 IoC?IoC 解决了什么问题?什么是 Spring Bean?将一个类声明为 Bean 的注解有哪些?Component 和 Bean 的区别是什么?注入 Bean 的注解有哪些?Autowired 和 Resource 的区别是什么?…