使用 Visual Studio 将 OpenAI API 集成到 C# 项目中
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
您是否希望利用人工智能技术为您的应用程序生成类人文本?OpenAI API 为此类任务提供了一个强大的解决方案。在本指南中,我们将引导您使用 Visual Studio Community Edition 将 OpenAI API 集成到 C# 项目中。
先决条件
在深入实施之前,请确保您已具备以下先决条件:
- Visual Studio 社区版:您需要这款功能齐全的集成开发环境 (IDE) 来进行 C# 开发。如果您尚未安装,可以从Visual Studio 网站下载。
- .NET SDK:请确保您的计算机上已安装 .NET SDK。您可以从.NET 网站下载。
- OpenAI API 密钥:注册一个 OpenAI 帐户,并从OpenAI 网站获取您的 API 密钥。
步骤 1:创建一个新的 C# 项目
让我们从创建一个新的 C# 项目开始:
- 打开 Visual Studio 社区版。
- 点击“创建新项目”。
- 在“创建新项目”对话框中,选择“C#”下的“控制台应用程序(.NET Core)”。选择项目名称和位置,然后单击“创建”。
步骤 2:安装 OpenAI NuGet 包
OpenAI .NET 库简化了与 OpenAI API 的交互。以下是安装方法:
- 在解决方案资源管理器中,右键单击您的项目,然后选择“管理 NuGet 程序包”。
- 在 NuGet 包管理器中,搜索“OpenAI”,然后单击“安装”将 OpenAI 包添加到您的项目中。
步骤 3:编写代码
安装 OpenAI 软件包后,您就可以开始编写 C# 代码来与 OpenAI API 进行交互。以下示例展示了如何使用 API 生成文本:
using OpenAI_API;
using OpenAI_API.Completions;
class Program
{
static async Task Main(string[] args)
{
var openAiApiKey = "YOUR_API_KEY"; // Replace with your OpenAI API key
APIAuthentication aPIAuthentication = new APIAuthentication(openAiApiKey);
OpenAIAPI openAiApi = new OpenAIAPI(aPIAuthentication);
try
{
string prompt = "Once upon a time";
string model = "text-davinci-003";
int maxTokens = 50;
var completionRequest = new CompletionRequest
{
Prompt = prompt,
Model = model,
MaxTokens = maxTokens
};
var completionResult = await openAiApi.Completions.CreateCompletionAsync(completionRequest);
var generatedText = completionResult.Completions[0].Text; //completionResult.Choices[0].Text.Trim();
Console.WriteLine("Generated text:");
Console.WriteLine(generatedText);
}
catch (Exception ex)
{
Console.WriteLine($"Error: {ex.Message}");
}
}
}
别忘了将“YOUR_API_KEY”替换为您的实际 OpenAI API 密钥。
步骤 4:运行应用程序
代码编写完成后,现在就可以运行你的 C# 应用程序了:
- 单击工具栏中的“开始”按钮,或按 F5 键来构建和执行您的 C# 应用程序。
- 您的应用程序将向 OpenAI API 发送请求,生成的文本将显示在控制台中。
恭喜!您已成功使用 Visual Studio Community Edition 将 OpenAI API 集成到您的 C# 项目中。现在,您可以为各种应用程序(从聊天机器人到内容生成)生成类人文本。
请记住要处理错误,并查阅 OpenAI API 文档以了解更多高级功能和选项。祝您编程愉快!
文章来源:https://dev.to/amitshri05/integrating-the-openai-api-into-ac-project-with-visual-studio-3ee8