目录
在.NET应用程序中利用OpenAI API的强大功能变得更加简单。ConnectingApps.Refit.OpenAI NuGet包为开发人员提供了一种直观的方式,可以将OpenAI的功能(例如ChatGPT)无缝集成到他们的应用程序中。本文深入探讨了该软件包的功能,它与Refit库的集成,以实现高效的REST调用,并提供了有关如何将其用于有效OpenAI交互的分步指南。
介绍
本文介绍了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的更多信息,请参阅其官方文档。
使用代码
首先将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功能之间的强大协同作用。这种和谐的集成促进了代码的制作,不仅高效,而且优雅且可读,使那些希望在项目中利用先进人工智能的人能够顺利愉快地进行开发过程。
https://www.codeproject.com/Tips/5369798/Effortless-OpenAI-API-Integration-in-NET-Applicati