OpenAI 在 6 月釋出測試版[1]後釋出了其官方 .NET 庫的穩定版本[2]。它以 NuGet 包[3]的形式提供,支援 GPT-4o 和 GPT-4o mini 等最新模型,以及完整的 OpenAI REST API。該版本包括同步和非同步 API、流式聊天完成以及用於提高 API 一致性的關鍵性更改。開發人員可以擴充套件該庫,並在支援 .NET Standard 2.0 的所有 .NET 平臺上使用它。
Microsoft 的 .NET 團隊在 10 月 1 日的一篇文章[2]中說。“今天,我們很高興地宣佈,適用於 .NET 的官方 OpenAI 庫[3]的穩定版本現已上線。此版本可確保開發人員在其 .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
、ChatCompletion
Streaming
和ChatCompletionUpdate
中。- 函式引數現在表示為多個區域,包括
BinaryData
ChatToolCall
和StreamingChatToolCallUpdate
。 - 應用了多種重新命名約定:已重新命名為
ApplicationId
、UserAgentApplicationId
為FileClient
和OpenAIFileClient
為ModelClient ,
等。OpenAIModelClient
- 已棄用的建構函式和方法已替換為新選項
ChatFunctionChoice
,例如將Auto
和None
替換為CreateAutoChoice()
和CreateNoneChoice()
。
其 GitHub 儲存庫[4]說明了如何使用 Azure OpenAI:
對於 Azure OpenAI 方案,請使用 Azure SDK[5],更具體地說,使用適用於 .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