openai-dotnet:OpenAI官方提供的.NET SDK库!

自从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 --prerelease

2、快速使用

复制代码
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 -

推荐阅读

让ChatGPT帮我写SQL

一个.Net版本的ChatGPT SDK

基于.Net开发的ChatGPT客户端,兼容Windows、IOS、安卓、MacOS、Linux

盘点6个.NetCore+Vue前后端分离的开源项目

自学编程的几点个人心得与经历体会!

相关推荐
zone773915 小时前
001:简单 RAG 入门
后端·python·面试
F_Quant15 小时前
🚀 Python打包踩坑指南:彻底解决 Nuitka --onefile 配置文件丢失与重启报错问题
python·操作系统
用户2986985301416 小时前
.NET 文档自动化:Spire.Doc 设置奇偶页页眉/页脚的最佳实践
后端·c#·.net
允许部分打工人先富起来16 小时前
在node项目中执行python脚本
前端·python·node.js
IVEN_16 小时前
Python OpenCV: RGB三色识别的最佳工程实践
python·opencv
haosend17 小时前
AI时代,传统网络运维人员的转型指南
python·数据网络·网络自动化
曲幽17 小时前
不止于JWT:用FastAPI的Depends实现细粒度权限控制
python·fastapi·web·jwt·rbac·permission·depends·abac
IVEN_1 天前
只会Python皮毛?深入理解这几点,轻松进阶全栈开发
python·全栈
Ray Liang2 天前
用六边形架构与整洁架构对比是伪命题?
java·python·c#·架构设计
AI攻城狮2 天前
如何给 AI Agent 做"断舍离":OpenClaw Session 自动清理实践
python