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前后端分离的开源项目

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

相关推荐
F_D_Z4 小时前
数据集相关类代码回顾理解 | StratifiedShuffleSplit\transforms.ToTensor\Counter
python·torchvision·transforms
tao3556675 小时前
【Python刷力扣hot100】283. Move Zeroes
开发语言·python·leetcode
小宁爱Python6 小时前
从零搭建 RAG 智能问答系统1:基于 LlamaIndex 与 Chainlit实现最简单的聊天助手
人工智能·后端·python
湖南人爱科技有限公司6 小时前
RaPhp和Python某音最新bd-ticket-guard-client-data加密算法解析(视频评论)
android·python·php·音视频·爬山算法·raphp
eqwaak07 小时前
数据预处理与可视化流水线:Pandas Profiling + Altair 实战指南
开发语言·python·信息可视化·数据挖掘·数据分析·pandas
心态特好8 小时前
详解WebSocket及其妙用
java·python·websocket·网络协议
dlraba8029 小时前
用 Python+OpenCV 实现实时文档扫描:从摄像头捕捉到透视矫正全流程
开发语言·python·opencv
小熊出擊9 小时前
【pytest】fixture 内省(Introspection)测试上下文
python·单元测试·pytest
njsgcs9 小时前
sse mcp flask 开放mcp服务到内网
后端·python·flask·sse·mcp
一人の梅雨10 小时前
1688 店铺商品全量采集与智能分析:从接口调用到供应链数据挖掘
开发语言·python·php