.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