AzureOpenAIClient 1.0.2

The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package AzureOpenAIClient --version 1.0.2                
NuGet\Install-Package AzureOpenAIClient -Version 1.0.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="AzureOpenAIClient" Version="1.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add AzureOpenAIClient --version 1.0.2                
#r "nuget: AzureOpenAIClient, 1.0.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install AzureOpenAIClient as a Cake Addin
#addin nuget:?package=AzureOpenAIClient&version=1.0.2

// Install AzureOpenAIClient as a Cake Tool
#tool nuget:?package=AzureOpenAIClient&version=1.0.2                

Azure OpenAI .NET Client

This project contains an unofficial .NET client library for use with Azure's OpenAI resource. It contains an implementation of a pre-configured injectable OpenAIClient which can be used to communicate to the Azure OpenAI platform instead of relying purely on hand-crafted REST API calls.

NOTE: For the official Azure.AI.OpenAI NuGet package, please use this one.

OpenAIClient settings

The following settings allow the OpenAI client to connect to your Azure resource, authenticate, and work with the right deployment model you've created in the portal.

Setting Purpose Example
BaseUri The fully qualified domain name of the OpenAI resource in Azure. https://myai.openai.azure.com/
ApiKey The API key used to authenticate the client to OpenAI in Azure. 1bbcc11a3a233857zz12aa5f2fake99af7d9c
DeploymentName The name of the deployment for a given OpenAI model. text-davinci-002

Configuration

The section below shows an example JSON configuration which can be stored in your secrets.json file, appsettings.development.json, or appsettings.json.

"OpenAiClientConfiguration": {
    "BaseUri": "[your_fqdn]",
    "ApiKey": "[your_api_key]",
    "DeploymentName": "[your_deployment_name]"
}

Setup in Program.cs

In your .NET application, you can use the NuGet package to allow for the following extension method which will register a singleton reference of the OpenAIClient instance.

builder.Services.AddOpenAIClient(x => builder.Configuration.Bind(nameof(OpenAIClientConfiguration), x));

OpenAIClient usage

Since the OpenAIClient is registered for Dependency Injection, you can inject it and use it with the GetTextCompletionResponseAsync() method. The CompletionResponse contains the model OpenAI uses with their typical REST API.

public class MyClass
{
    private readonly OpenAIClient _client;

    public MyClass(OpenAIClient client)
    {
        _client = client;
    }

    Task DoWork(string input)
    {
        var completionRequest = new CompletionRequest()
        {
            Prompt = input,
            MaxTokens = 100
        };
        CompletionResponse? completionResponse = await _client.GetTextCompletionResponseAsync(completionRequest);
    }        
}

Streaming support

The client now supports streaming using IAsyncEnumerable<CompletionResponse?> and can be iterated using the await foreach pattern as follows:

// inject the OpenAIClient and call streaming method
var completionRequest = new CompletionRequest()
{
    Prompt = input,
    MaxTokens = 100
};
var stream = _client.StreamTextCompletionResponseAsync(completionRequest);

await foreach (var completionResponse in stream)
{
    Console.Write(completionResponse.Choices.FirstOrDefault().Text);
}

Blazor and Azure OpenAI

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.1

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on AzureOpenAIClient:

Package Downloads
BootstrapBlazor.OCR

Bootstrap UI components extensions of Ocr

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated

Initial release.