Biblioteca de clientes da API OpenAI para .NET. Ele suporta APIs OpenAi e Azure-Openai. Esta biblioteca foi desenvolvida para uso público e é gratuito para usar. Versões .NET suportadas:
x> = v4.6.1,
x> = netstandard 2.0,
x> = dotNetcore 3.1,
.NET 6.0,
.NET 7.0
.NET 8.0
Funciona com o Blazor WebAssembly e o Blazor Server.
Para instalar o pacote, adicione a seguinte linha a seu arquivo csproj substituindo XXX pelo número mais recente da versão:
<PackageReference Include="Forge.OpenAI" Version="x.x.x" />
Você também pode instalar via .Net CLI com o seguinte comando:
dotnet add package Forge.OpenAI
Se você estiver usando o Visual Studio, você também pode instalar através do Nuget Package Manager embutido.
Você deve criar um apikey para trabalhar com a API OpenAI.
Se você não possui uma conta no OpenAI, crie uma aqui: https://platform.openai.com/
Do que navegar para: https://platform.openai.com/account/api-keys
Por padrão, esta biblioteca usa a injeção de dependência do Microsoft, no entanto, não é necessário.
Você pode registrar os serviços ao cliente na coleção de serviços em seu arquivo startup.cs / program.cs em seu aplicativo.
public void ConfigureServices ( IServiceCollection services )
{
services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
}Ou no seu arquivo 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 ( ) ;
}Ou
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 ( ) ;
}Você deve fornecer sua chave da API do OpenAI e, opcionalmente, sua organização para inicializar o serviço. Se você não o fornecer na configuração, o serviço procure automaticamente as informações necessárias em suas variáveis de ambiente, em um arquivo json (.openai) ou em um arquivo de ambiente (.env).
Exemplo de variáveis de ambiente:
OpenI_Key ou OpenAI_API_KEY ou OPENAI_SECRET_KEY ou TEST_OPENAI_SECRET_KEY são verificados para a chave da API
Chave da organização verificada quanto à organização
Exemplo de arquivo JSON:
{"apikey": "your_api_key", "organização": "organização_id"}
O arquivo de ambiente deve contém pares de chave/valor neste formato {key} = {value}
Para a ' chave ', use um do mesmo valor descrito nas variáveis de ambiente acima.
Exemplo de arquivo de ambiente:
OpenAi_Key = Your_Api_Key
Organização = Opcionalmente_Your_organization
O OpenAI e os Serviços Dependentes exigem o OpenaiOptions, que podem ser fornecidos manualmente ou isso acontecerá, se você usar a injeção de dependência. Se você precisar usar várias instâncias de serviço OpenAI ao mesmo tempo, forneça essas opções individualmente com diferentes configurações e credenciais de autenticação.
Nas opções, existem muitas configurações de URI, que não foram tocadas normalmente. A opção mais importante é a propriedade AuthenticationInfo, que contém o ID APIKEY e e da organização.
Além disso, existe uma opção adicional, chamada httpmessageHandlerFactory, que constrói o HttpMessageHandler para o httpclient em alguns casos especiais, por exemplo, se você deseja substituir algum comportamento do httpclient.
Existe um recurso de registro interno, apenas para fins de teste e depuração, chamado LogRequestSandRonses, que persiste todas as solicitações e respostas em uma pasta (LogRequestSandResponsesFolder). Com esse recurso, você pode verificar as mensagens de baixo nível. Eu não recomendo usá -lo no ambiente de produção.
Se você deseja saber mais sobre os recursos da API, visite https://platform.openai.com/docs/api-reference se precisar gerar uma chave da API, visite: https://platform.openai.com/account/apikeys
Eu criei um playground, que faz parte desta solução. Ele abrange todos os recursos, que esta biblioteca fornece. Sinta -se à vontade para percorrer esses exemplos e brincar com as configurações.
Também aqui está o Playground Openai, onde você também pode encontrar exemplos sobre o uso: https://platform.openai.com/playground/p/default-chat?lang=node.js&mode=complete&model=Text-Davinci-0033
Configure o serviço com o fornecedor do Azure-Openai, você precisa especificar o nome do seu recurso do Azure OpenAi, bem como o seu ID de implantação de modelo.
Pré-requisitos: https://learn.microsoft.com/en-us/azure/cognitivo-Services/openai/quickstart?tabs=command-line&pivots=programming-language-studio: https:/oglearn.microsoft.com/en-Enbage-Studio: https:/oglearn.microsoft.com/en-Enkums-sticlio: https:/oglearn.microsoft.com/en-Engera-Azurys: https:/oglearn.microsoft.com/en-Enbage-Studio: https:/oglearn.microsoft.com/en-Enker-Azurys-USTUDIO: https:/oglearn.microsoft.com/en-Azury/razure:
Exemplo: https://github.com/jzo001/forge.openai/blob/main/playgrounds/azure-openai_setup_example/program.cs