OpenAI在6月发布了测试版后,现已发布其官方.NET库的稳定版本。该库以NuGet包的形式提供,支持GPT-4o和GPT-4o mini等最新模型,以及完整的OpenAI REST API。开发人员可以在支持.NET Standard 2.0的所有.NET平台上使用该库,扩展其功能。
Microsoft的.NET团队在10月1日的一篇文章中表示:“今天,我们很高兴地宣布,适用于.NET的官方OpenAI库的稳定版本现已上线。此版本可确保开发人员在其.NET应用程序中使用OpenAI和Azure OpenAI服务时获得流畅可靠的集成体验。”
该库的目的是简化将OpenAI的尖端模型集成到.NET应用程序中的过程,为开发人员提供简化的体验。其功能包括完整的OpenAI REST API支持、支持最新型号、扩展性、同步和异步API、流式补全、代码质量改进以及.NET Standard 2.0兼容性。
- 完整的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
、ChatCompletion
、Streaming
和ChatCompletionUpdate
中。 -
函数参数现在表示为多个区域,包括
BinaryData
、ChatToolCall
和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功能方面向前迈出了重要一步,提供了构建高级应用程序所需的工具。
相关链接:
- [1] OpenAI在6月发布测试版: https://www.cnblogs.com/shanyou/p/18238209
- [2] 官方.NET库的稳定版本: https://devblogs.microsoft.com/dotnet/announcing-the-stable-release-of-the-official-open-ai-library-for-dotnet/
- [3] 适用于.NET的官方OpenAI库: https://www.nuget.org/packages/OpenAI/2.0.0
- [4] GitHub存储库: https://github.com/openai/openai-dotnet
- [5] Azure SDK: https://github.com/Azure/azure-sdk-for-net