65.9K
CodeProject 正在变化。 阅读更多。
Home

在 .NET 应用程序中轻松集成 OpenAI API

starIconstarIconstarIconstarIconstarIcon

5.00/5 (1投票)

2023 年 10 月 11 日

CPOL

2分钟阅读

viewsIcon

9723

使用 ConnectingApps.Refit.OpenAI NuGet 包,可以轻松地在 .NET 应用程序中与 OpenAI 的 API 交互,实现简化、健壮且可记录的调用。

引言

本文介绍了 ConnectingApps.Refit.OpenAI NuGet 包,这对于希望在 .NET 应用程序中高效地与 OpenAI 的 API 交互的开发人员来说是一个有价值的工具。该包可在 NuGet 上找到,源代码来自 GitHub,它简化了 OpenAI 的 API 调用,同时允许对 HttpClient 进行精确控制。这对于各种目的都很有用,包括请求记录和状态码处理。

背景

OpenAI 的 API 提供了对 ChatGPT 等高级 AI 模型的访问,这些模型可以理解和生成文本。对于构建需要对话代理、游戏模拟角色或任何涉及动态文本生成和理解的功能的应用程序的开发人员来说,这种功能非常宝贵。该 API 抽象了机器学习和自然语言处理的复杂性,提供了一个用于提示-响应交互的简单接口。

ConnectingApps.Refit.OpenAI 包可在 NuGet 上获取,其源代码可在 GitHub 上获取,它充当 OpenAI API 的客户端包装器。它利用 Refit,一个适用于 .NET 平台的类型安全 REST 库。Refit 允许为 API 客户端自动实现接口,从而简化了 API 端点的声明和使用。有关 Refit 的更多信息,请参阅其 官方文档

Using the Code

首先,将您的 OpenAI API 密钥设置为环境变量

var apiKey = Environment.GetEnvironmentVariable("OPENAI_KEY");

然后,使用 RestService.For<ICompletion> 方法实例化 ICompletion 接口

using ConnectingApps.Refit.OpenAI;
using ConnectingApps.Refit.OpenAI.Completions;
using ConnectingApps.Refit.OpenAI.Completions.Request;
using Refit;

// ... 

var completionApi = RestService.For<icompletion>(new HttpClient
{
    BaseAddress = new Uri("https://api.openai.com")
}, OpenAiRefitSettings.RefitSettings);

像这样创建并发送请求到 OpenAI 的 API

var response = await completionApi.CreateCompletionAsync(new ChatRequest
    {
        Model = "gpt-3.5-turbo",
        Temperature = 0.7,
        Messages = new List<message>
        {
            new()
            {
                Role = "user",
                Content = "What is the capital of the France?",
            }
        }
    }, $"Bearer {apiKey}");

Console.WriteLine($"Returned response status code {response.StatusCode}");
Console.WriteLine(response.Content!.Choices!.First().Message!.Content);

这段精简的代码片段与 OpenAI 的 API 通信,并检索响应的状态码和内容,体现了 ConnectingApps.Refit.OpenAI 包的效率和简洁性。

关注点

开发和使用 ConnectingApps.Refit.OpenAI 包揭示了 OpenAI 的功能与 Refit 用户友好型 REST 功能之间的强大协同作用。这种和谐的集成促进了代码的编写,这些代码不仅高效,而且优雅且易于阅读,使开发过程对于希望在其项目中利用高级 AI 的人员来说更加顺畅和愉快。

历史

  • 2023 年 10 月 11 日:初始版本

ConnectingApps.Refit.OpenAI 包是 .NET 开发人员工具包中用于与 OpenAI API 交互的最新补充。随着它的推出,我们预计会根据开发社区的反馈和使用情况进行持续改进和更新。

© . All rights reserved.