.NET的OpenAI API客户库。它支持OpenAI和Azure-Openai Apis。该库是用于公共用法的开发,可以免费使用。支持的.NET版本:
x> = v4.6.1,
X> = NetStandard 2.0,
x> = dotnetcore 3.1,
.NET 6.0,
.NET 7.0
.NET 8.0
与Blazor WebAssembly和Blazor Server一起使用。
要安装软件包,将以下行添加到您的csproj文件中,用最新版本编号替换xxx:
<PackageReference Include="Forge.OpenAI" Version="x.x.x" />
您也可以通过.NET CLI安装以下命令:
dotnet add package Forge.OpenAI
如果您使用的是Visual Studio,也可以通过内置的Nuget软件包管理器安装。
您应该创建一个与OpenAI API一起使用的Apikey。
如果您在OpenAI上没有帐户,请在此处创建一个:https://platform.openai.com/
比导航到:https://platform.openai.com/account/api-keys
默认情况下,此库使用Microsoft依赖项注入,但是没有必要。
您可以在您的应用程序中的starmup.cs / program.cs文件中使用Service Collection注册客户服务。
public void ConfigureServices ( IServiceCollection services )
{
services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
}或在您的program.cs文件中。
public static async Task Main ( string [ ] args )
{
var builder = WebAssemblyHostBuilder . CreateDefault ( args ) ;
builder . RootComponents . Add < App > ( " app " ) ;
builder . Services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = builder . Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
await builder . Build ( ) . RunAsync ( ) ;
}或者
public static async Task Main ( string [ ] args )
{
using var host = Host . CreateDefaultBuilder ( args )
. ConfigureServices ( ( builder , services ) =>
{
services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = builder . Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
} )
. Build ( ) ;
}您应该提供OpenAI API密钥,并选择您的组织来启动服务。如果您不在配置中提供它,请在环境变量,json文件(.openai)或环境文件(.env)中自动查找必要的信息。
环境变量的示例:
openai_key或openai_api_key或Openai_secret_key或test_openai_secret_key已选中API键
检查组织的组织密钥
JSON文件的示例:
{“ apikey”:“ your_api_key”,“组织”:“ agristomation_id”}
环境文件必须包含此格式{key} = {value}的键/值对
对于“键”,请使用上面环境变量中描述的相同值之一。
环境文件的示例:
OpenAi_Key = your_api_key
组织= Optionally_your_organization
OpenAI和依赖服务需要Openaioptions,如果您使用依赖注入,则可以手动提供或将发生。如果您需要同时使用多个OpenAI服务实例,则应单独提供此选项,并提供不同的设置和身份验证凭据。
在选项中,有许多URI设置,这些设置并未正常触摸。最重要的选择是AuthenticationInfo属性,其中包含Apikey和组织ID。
另外,还有一个名为httpmessagehandlerfactory的其他选项,它在某些特殊情况下构造了httpclient的httpmessagehandler,如果您想覆盖httpclient的某些行为。
有一个内置的记录功能,仅用于测试和调试目的,称为logrequestsandrespons,它持续了文件夹中的所有请求和响应(logrequestsandresponsesfolder)。使用此功能,您可以检查低级消息。我不建议在生产环境中使用它。
如果您想了解有关API功能的更多信息,请访问https://platform.openai.com/docs/api-reference,如果您需要生成API密钥,请访问:https://platform.openai.com/acccount/apcount/apcount/api-keys
我创建了一个操场,这是该解决方案的一部分。它涵盖了该库提供的所有功能。可以随意浏览这些示例并进行设置。
这也是OpenAi游乐场,您还可以在其中找到有关用法的示例:https://platform.openai.com/playground/p/default-chat?lang=node.js&mode=complete&modplete&model=text-dext-dext-davinci-003
使用Azure-Openai提供商设置服务,您需要指定Azure OpenAI资源的名称以及模型部署ID。
先决条件:https://learn.microsoft.com/en-us/azure/cognitive-services/openai/quickstart?tabs=command-line&pivots = programprampomming-language-language-language-language-language-language-studio文档:https:///learn.microsoft.com.com.com.com.com.com.com.com./en-en-us/azure/cognperice/cognperive/cognperife
示例:https://github.com/jzo001/forge.openai/blob/main/playgrounds/azure-openai_setup_example/program.cs