在 C# 中集成 ChatGPT API





3.00/5 (5投票s)
在 C# 中集成 ChatGPT-3.5 Turbo API:综合指南
引言
本文演示了如何在 C# 中集成 ChatGPT-3.5 Turbo API。它解决了在 C# 应用程序中实现强大的 AI 语言模型的问题,为聊天机器人、内容生成等打开了可能性。代码片段对于希望在其 C# 项目中使用 ChatGPT-3.5 Turbo API 的开发人员非常有用。
背景
ChatGPT-3.5 Turbo 是 OpenAI 开发的先进语言模型。它可以理解和生成类似人类的文本,使其成为各种应用程序(如聊天机器人、内容创作等)中非常有价值的工具。
Using the Code
Install-Package Betalgo.OpenAI.GPT3
首先,声明您的 OpenAI
API 密钥。将占位符替换为您的实际 API 密钥。
var apiKey = "Your OpenAi Key here";
创建 OpenAIService
类的实例,并传入您的 API 密钥。
var gpt3 = new OpenAIService(new OpenAiOptions()
{
ApiKey = apiKey
});
创建一个包含输入消息、模型和其他参数的聊天完成请求。
var completionResult = await gpt3.ChatCompletion.CreateCompletion
(new ChatCompletionCreateRequest()
{
Messages = new List<ChatMessage>(new ChatMessage[]
{ new ChatMessage("user", "how to learn c# in 24 hours") }),
Model = Models.ChatGpt3_5Turbo,
Temperature = 0.5F,
MaxTokens = 100,
N = 3
});
在此示例中,我们将用户的提示设置为“如何在 24 小时内学习 C#”。我们使用 ChatGpt3_5Turbo
模型进行请求。Temperature
设置为 0.5
,影响输出的随机性。MaxTokens
参数设置为 100
,将响应限制为最多 100
个 token。最后,N
参数设置为 3
,这意味着我们将收到三个不同的响应。
获得完成结果后,检查它是否成功并相应地处理响应。
if (completionResult.Successful)
{
foreach (var choice in completionResult.Choices)
{
Console.WriteLine(choice.Message.Content);
}
}
else
{
if (completionResult.Error == null)
{
throw new Exception("Unknown Error");
}
Console.WriteLine($"{completionResult.Error.Code}:
{completionResult.Error.Message}");
}
在此代码块中,我们首先检查请求是否成功。如果成功,我们将循环遍历选项并打印每个响应。如果请求不成功,我们将打印错误消息。如果没有错误信息,我们将抛出一个带有消息“未知错误”的异常。
这是完整的代码片段
// Declare the API key
var apiKey = "your-api-key-here";
// Create an instance of the OpenAIService class
var gpt3 = new OpenAIService(new OpenAiOptions()
{
ApiKey = apiKey
});
// Create a chat completion request
var completionResult = await gpt3.ChatCompletion.CreateCompletion
(new ChatCompletionCreateRequest()
{
Messages = new List<ChatMessage>(new ChatMessage[]
{ new ChatMessage("user", "how to learn c# in 24 hours") }),
Model = Models.ChatGpt3_5Turbo,
Temperature = 0.5F,
MaxTokens = 100,
N = 3
});
// Check if the completion result was successful and handle the response
if (completionResult.Successful)
{
foreach (var choice in completionResult.Choices)
{
Console.WriteLine(choice.Message.Content);
}
}
else
{
if (completionResult.Error == null)
{
throw new Exception("Unknown Error");
}
Console.WriteLine($"{completionResult.Error.Code}:
{completionResult.Error.Message}");
}
// Keep the console window open
Console.ReadLine();
这是来自 OpenAI
API 的响应。
关注点
在编写代码时,我们了解到将 ChatGPT-3.5 Turbo API 集成到 C# 应用程序是多么容易。通过利用 Betalgo.OpenAI.GPT3
,开发人员可以快速设置 API 并开始接收各种应用程序的智能响应。API 及其参数的灵活性允许进行自定义,使其成为各种项目的非常有用的工具。
历史
- 2023 年 4 月 2 日:初始版本