我是编程乐趣,一个10年.Net开发经验老程序员,点击右上方“关注”,每天为你分享开源项目和编程知识。
自从ChatGPT大火以来,针对OpenaAI提供的API接口,封装的SDK库非常多。
之前也推荐过几个.Net版本,今天推荐下OpenAI官方提供的.NET 库!
01
项目简介
openai-dotnet是OpenAI 官方提供的 .NET库,用于方便.NET应用程序中访问 OpenAI REST API。
该项目的关键特点和功能:
1、快速开发:该库使得开发者在 .NET环境中快速调用 OpenAI 的各种功能,如聊天补全、文本嵌入、图像生成、音频转录等。
2、OpenAPI 规范:库是根据 OpenAI 的 OpenAPI 规范生成的,并且与 Microsoft 合作开发。
3、使用简单:通过NuGet包管理器可以很容易地将这个库添加到你的 .NET 项目中。
4、支持异步API:提供了同步和异步两种方法来调用API ,方便开发者根据需要选择使用。
5、流式传输:支持流式传输 API 响应,可以实时获取部分生成的结果,而不必等待整个响应生成完毕。
6、工具和函数调用:支持在聊天补全中使用工具和函数调用,使模型能够根据需要调用外部函数来获取信息。
7、Azure OpenAI 集成:暂未实现,但不久将来将支持与 Azure OpenAI 服务的集成。
8、独立命名空间:每一个功能都有独立的命名空间。
02
使用方法
1、安装依赖
dotnet add package OpenAI --prerelease2、快速使用
using OpenAI.Chat;ChatClient client = new(model: "gpt-4o", Environment.GetEnvironmentVariable("OPENAI_API_KEY"));ChatCompletion completion = client.CompleteChat("请自我介绍下!");Console.WriteLine($"[ASSISTANT]: {completion}");3、流媒体聊天
CollectionResult<StreamingChatCompletionUpdate> updates = client.CompleteChatStreaming("Say 'this is a test.'"); Console.WriteLine($"[ASSISTANT]:");foreach (StreamingChatCompletionUpdate update in updates){ foreach (ChatMessageContentPart updatePart in update.ContentUpdate) { Console.Write(updatePart); }}更多的功能使用,如:使用工具和函数调用、生成图像、转录音频、使用具有检索增强生成(RAG)功能的助手、使用流媒体和GPT-4o视觉与助手等,可以详细查阅文档。
03
项目地址
https://github.com/openai/openai-dotnet
- End -
推荐阅读