.NETのOpenAI APIクライアントライブラリ。 OpenaiとAzure-Openai APIをサポートしています。このライブラリは公共の使用のために開発され、自由に使用できます。サポートされている.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で動作します。
パッケージをインストールするには、xxxを最新バージョン番号に置き換えるcsprojファイルに次の行を追加します。
<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依存関係の注入を使用しますが、必要ではありません。
Startup.cs / program.csファイルで、クライアントサービスをService Collectionでアプリケーションに登録できます。
public void ConfigureServices ( IServiceCollection services )
{
services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
}またはプログラム.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"、 "organization": "organization_id"}
環境ファイルには、この形式にキー/値のペアが含まれている必要があります{key} = {value}
「キー」には、上記の環境変数で説明されている同じ値の1つを使用します。
環境ファイルの例:
openai_key = your_api_key
組織= optional_your_organization
OpenAIおよび依存サービスには、依存関係噴射を使用すると、手動で提供されるか、発生するOpenAiOptionsが必要です。複数のOpenAIサービスインスタンスを同時に使用する必要がある場合は、このオプションをさまざまな設定と認証資格情報で個別に提供する必要があります。
オプションには、多くのURI設定があり、通常は触れられませんでした。最も重要なオプションは、AuthenticationInfoプロパティです。
また、いくつかの特別な場合、HTTPCLIENTのHTTPMessageHandlerを構築するhttpmessagehandlerを構築するhttpmessagehandlerfactoryと呼ばれる追加のオプションがあります。たとえば、httpclientの動作をオーバーライドする場合。
LogRequestSandResponsesと呼ばれるテストとデバッグのためだけに、組み込みのロギング機能があり、フォルダー内のすべてのリクエストと応答を持続します(logRequestsandressponseSsefolder)。この機能を使用すると、低レベルのメッセージを確認できます。生産環境で使用することはお勧めしません。
API機能について詳しく知りたい場合は、https://platform.openai.com/docs/api-reference APIキーを生成する必要がある場合は、https://platform.openai.com/account/api-keysにアクセスしてください。
このソリューションの一部である遊び場を作成しました。このライブラリが提供するすべての機能をカバーしています。これらの例を自由に実行し、設定で遊んでください。
また、ここにOpenaiの遊び場があります。ここでは、使用に関する例を見つけることができます:https://platform.openai.com/playground/p/default-chat?lang=node.js&mode=complete&model = text-davinci-003
Azure-Openaiプロバイダーでサービスをセットアップすると、Azure Openaiリソースの名前とモデル展開IDを指定する必要があります。
前提条件:https://learn.microsoft.com/en-us/azure/cognitive-services/openai/quickstart?tabs = command-line&pivots=programming--studioドキュメント:https://relearn.microsoft.com/en-us/azure/cognitive-serv/
例:https://github.com/jzo001/forge.openai/blob/main/playgrounds/azure-openai_setup_example/program.cs