概述
一个用于访问 OpenAI API 的 .NET SDK,作为社区库提供。这个 SDK 让你可以轻松地将 OpenAI 的功能集成到你的 .NET 应用程序中。
⭐ 我们非常感激你的 star, 它对我们帮助很大!
社区链接
我们有一个非常新的 和 频道。请来帮助我们建设 .NET AI 社区。
安装包
核心库
Install-Package Betalgo.OpenAI
实验性工具库
Install-Package Betalgo.OpenAI.Utilities
文档和链接
API 文档
致谢
💖 赞助者:
@betalgo, Laser Cat Eyes
@tylerje, @oferavnery, @MayDay-wpf, @AnukarOP, @Removable, @Scar11
示例用法
代码库包含一个名为 OpenAI.Playground 的示例项目,帮助你理解这个库是如何工作的。但是,在实验时请务必小心,因为某些测试方法可能会导致意外的后果,例如文件删除或微调。
!! 强烈建议你使用一个单独的账户而不是你的主要账户来使用 playground。某些测试方法可能会添加或删除你的文件和模型,从而导致不想要的问题。 !!
你可以从这里获取你的 API Key:https://platform.openai.com/account/api-keys
你可以在这里找到你的组织 ID:https://platform.openai.com/account/org-settings
不使用依赖注入
var openAiService = new OpenAIService(new OpenAiOptions()
{
ApiKey = Environment.GetEnvironmentVariable("MY_OPEN_AI_API_KEY")
});
使用依赖注入
secrets.json
"OpenAIServiceOptions": {
"ApiKey": "Your api key goes here",
"Organization": "Your Organization Id goes here (optional)",
"UseBeta": "true/false (optional)"
}
(要使用 用户机密:在 "解决方案资源管理器" 中右键点击你的项目名称,然后点击 "管理用户机密"。这是一个保持你的 API 密钥安全的好方法。)
Program.cs
serviceCollection.AddOpenAIService();
或者
serviceCollection.AddOpenAIService(settings => { settings.ApiKey = Environment.GetEnvironmentVariable("MY_OPEN_AI_API_KEY"); });
注入服务之后,你可以从服务提供者中获取它:
var openAiService = serviceProvider.GetRequiredService<IOpenAIService>();
你可以设置一个默认模型(可选):
openAiService.SetDefaultModelId(Models.Gpt_4o);
Chat GPT 示例
var completionResult = await openAiService.ChatCompletion.CreateCompletion(new ChatCompletionCreateRequest
{
Messages = new List<ChatMessage>
{
ChatMessage.FromSystem("You are a helpful assistant."),
ChatMessage.FromUser("Who won the world series in 2020?"),
ChatMessage.FromAssistant("The Los Angeles Dodgers won the World Series in 2020."),
ChatMessage.FromUser("Where was it played?")
},
Model = Models.Gpt_4o,
});
if (completionResult.Successful)
{
Console.WriteLine(completionResult.Choices.First().Message.Content);
}
注意
由于时间限制,并非所有的方法都经过了彻底的测试或完整的文档。如果你遇到任何问题,请报告或提交一个拉取请求。你的贡献总是受到赞赏。
不用说,对于使用此库所造成的任何损害,我无法接受责任。
变更日志
8.6.1
- 使用新的 GPT-4o mini 模型更新了模型。
8.6.0
- 修复了 Azure Assistant URL。
- 更新了库的 logo。
- 在 Assistant 响应中增加了对工具资源的支持。
更多变更日志
对于任何问题、贡献或反馈,请随时联系我们或提交一个拉取请求。
Betalgo X: Betalgo (@Betalgo) / X (twitter.com)
Betalgo Linkedin: Betalgo | LinkedIn
Tolga X: Tolga Kayhan (@kayhantolga) / X (twitter.com)
Tolga Linkedin: Tolga Kayhan | LinkedIn