Biblioteca de cliente API de OpenAI para .NET. Apoya las API Operai y Azure-Openai. Esta biblioteca fue desarrollada para uso público y es de uso gratuito. Versiones compatibles con .NET:
x> = v4.6.1,
x> = netstandard 2.0,
x> = dotnetCore 3.1,
.NET 6.0,
.NET 7.0
.NET 8.0
Funciona con Blazor WebAssembly y Blazor Server.
Para instalar el paquete, agregue la siguiente línea a su archivo csproj reemplazando xxx con el último número de versión:
<PackageReference Include="Forge.OpenAI" Version="x.x.x" />
También puede instalar a través de .NET CLI con el siguiente comando:
dotnet add package Forge.OpenAI
Si está utilizando Visual Studio, también puede instalar a través del Administrador de paquetes NUGET incorporado.
Debes crear un apikey para trabajar con la API de OpenAI.
Si no tiene una cuenta en OpenAI, cree una aquí: https://platform.openai.com/
Que navegar a: https://platform.openai.com/account/api-keys
Por defecto, esta biblioteca utiliza la inyección de dependencia de Microsoft, sin embargo, no es necesario.
Puede registrar los servicios al cliente con la colección de servicios en su archivo startup.cs / programa.cs en su aplicación.
public void ConfigureServices ( IServiceCollection services )
{
services . AddForgeOpenAI ( options => {
options . AuthenticationInfo = Configuration [ " OpenAI:ApiKey " ] ! ;
} ) ;
}O en su archivo programa.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 ( ) ;
}O
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 ( ) ;
}Debe proporcionar su tecla API de OpenAI y opcionalmente su organización para iniciar el servicio. Si no lo proporciona en la configuración, el servicio busque automáticamente la información necesaria en sus variables de entorno, en un archivo JSON (.openai) o en un archivo de entorno (.env).
Ejemplo de variables de entorno:
OpenAI_Key o OpenAI_API_KEY o OPERAI_SECRET_KEY o TEST_OPENAI_SECRET_KEY está marcado para la tecla API
Clave de organización verificada para la organización
Ejemplo para el archivo JSON:
{"apikey": "your_api_key", "organización": "organización_id"}
El archivo de entorno debe contener pares de clave/valor en este formato {Key} = {valor}
Para la ' clave ', use uno del mismo valor que se describe en las variables de entorno anteriores.
Ejemplo para el archivo de entorno:
OPERAI_KEY = Your_api_Key
Organización = opcionalmente_your_organization
OpenAI y los servicios dependientes requieren OpenAiOptions, que se pueden proporcionar manualmente o sucederá, si usa la inyección de dependencia. Si necesita usar múltiples instancias de servicio Operai al mismo tiempo, debe proporcionar estas opciones individualmente con diferentes configuraciones y credenciales de autenticación.
En las opciones hay muchas configuraciones de URI, que no se tocaron normalmente. La opción más importante es la propiedad AuthenticationInfo, que contiene el apikey y la identificación de la organización.
Además, hay una opción adicional, llamada httpMessageHandlerFactory, que construye el httpmessagehandler para el httpclient en algunos casos especiales, por ejemplo, si desea anular algún comportamiento del httpclient.
Hay una función de registro incorporada, solo para fines de prueba y depuración, llamada LogRequestSandAnsponses, que persiste todas las solicitudes y respuestas en una carpeta (LogRequestSandResponsesFolder). Con esta función, puede verificar los mensajes de bajo nivel. No recomiendo usarlo en el entorno de producción.
Si desea obtener más información sobre las capacidades de API, visite https://platform.openai.com/docs/api- reference Si necesita generar una clave API, visite: https://platform.openai.com/account/api-keys
He creado un patio de recreo, que forma parte de esta solución. Cubre todas las características que proporciona esta biblioteca. Siéntase libre de ejecutar estos ejemplos y jugar con la configuración.
También aquí está el Playground Operai, donde también puede encontrar ejemplos sobre el uso: https://platform.openai.com/playground/p/default-chat?lang=node.js&mode=complete&model=text-davinci-003
Configurar el servicio con el proveedor de Azure-Openai, debe especificar el nombre de su recurso Azure OpenAI, así como su ID de implementación de modelos.
Prerrequisitos: https://learn.microsoft.com/en-us/azure/cognitive-services/openai/quickstart?tabs=command-line&pivots=programming-language documentation: https://earn.microsoft.com/en-us/azure/cognitive-services/openai/RELEENT
Ejemplo: https://github.com/jzo001/forge.openai/blob/main/playgrounds/azure-openai_setup_example/program.cs