OpenAI-API-dotnet 项目介绍
OpenAI-API-dotnet 是一个用于访问 OpenAI API 的 C#/.NET 软件开发工具包 (SDK)。该项目为开发者提供了一种简单的方式来通过 C# 语言与 OpenAI 的各项服务进行交互,例如 GPT-3.5/4、DALL-E 的图像生成等。
项目背景
OpenAI-API-dotnet 最初是一个非官方的库,用于封装 OpenAI 的 API。近期,Microsoft 将其正式化,并从 版本 2.0.0-beta.3 开始,提供了完整的 OpenAI 功能覆盖并保证保持更新。同时,原始库版本(至 1.11 版)仍然保留在 GitHub 上以供参考。
主要功能
Chat API
Chat API 是该库的一大特色,能够模拟对话机器人(如 ChatGPT)进行自然语言处理。通过此 API,用户能轻松创建聊天会话并接收响应信息。示例代码如下所示:
var api = new OpenAI_API.OpenAIAPI("YOUR_API_KEY");
var result = await api.Chat.CreateChatCompletionAsync("Hello!");
Console.WriteLine(result); // 输出:"Hi! How can I help you?"
图像生成 API
图像生成是在 OpenAI 中使用 DALL-E 模型的一个功能。用户可以输入描述性文本,并生成相应的图像。
async Task<ImageResult> CreateImageAsync(ImageGenerationRequest request);
// 示例
var result = await api.ImageGenerations.CreateImageAsync(new ImageGenerationRequest("A drawing of a computer writing a test", 1, ImageSize._512));
Console.WriteLine(result.Data[0].Url);
音频 API
音频 API 包括文本转语音和音频转文本 (包括翻译) 功能,可以将文本转化为语音文件并播放,或将音频文件转化为文本。
await api.TextToSpeech.SaveSpeechToFileAsync("Hello, brave new world! This is a test.", outputPath);
Process.Start(outputPath); // 在默认音频播放器中打开
使用和配置
这个库基于 .NET 标准 2.0,因此可以广泛适用在不同的 .NET 应用程序中,如控制台应用、ASP.NET 等。对于云服务用户,Azure OpenAI 服务的配置和使用支持也被详细列出,方便集成到 Azure 平台中。
安装与认证
开发者可以通过 NuGet 安装这个库:
Install-Package OpenAI -Version 1.11.0
密钥认证支持多种方式,可以直接在代码中传入 API 密钥,也可以使用环境变量或配置文件进行管理。
支持的功能模块
- 聊天接口:支持会话管理、消息流式传输、GPT Vision 功能等。
- 生成接口:包括文本完成、流式结果返回。
- 音频接口:文字转语音、语音转文字与翻译功能。
- 嵌入、审核和文件接口:支持文本嵌入、内容审核及文件操作。
- 图像生成:通过 DALL-E 模型生成视觉内容。
许可信息
该库在 CC-0 公共领域许可证下开放,意味着用户可以自由使用、修改和分发,不用担心许可问题。
综上所述,OpenAI-API-dotnet 为开发者提供了一个强大的工具来更直观、方便地接入 OpenAI 的先进技术,在各类应用中实现丰富的人工智能功能。希望社区的开发者们能够借助此工具在他们的项目中创造出更多的价值。