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现在将内容部分封装在ChatMessageChatCompletion``StreamingChatCompletionUpdate中。
  • 函数参数现在表示为多个区域,包括BinaryData``ChatToolCallStreamingChatToolCallUpdate
  • 应用了多种重命名约定:已重命名为ApplicationIdUserAgentApplicationIdFileClientOpenAIFileClientModelClient ,``OpenAIModelClient等。
  • 已弃用的构造函数和方法已替换为新选项ChatFunctionChoice,例如将 AutoNone替换为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 功能方面向前迈出了重要一步,提供了构建高级应用程序所需的工具。