Rystem.OpenAi
0.0.81
See the version list below for details.
dotnet add package Rystem.OpenAi --version 0.0.81
NuGet\Install-Package Rystem.OpenAi -Version 0.0.81
<PackageReference Include="Rystem.OpenAi" Version="0.0.81" />
paket add Rystem.OpenAi --version 0.0.81
#r "nuget: Rystem.OpenAi, 0.0.81"
// Install Rystem.OpenAi as a Cake Addin #addin nuget:?package=Rystem.OpenAi&version=0.0.81 // Install Rystem.OpenAi as a Cake Tool #tool nuget:?package=Rystem.OpenAi&version=0.0.81
C#/.NET SDK for accessing the OpenAI GPT-3 API
A simple C# .NET wrapper library to use with OpenAI's GPT-3 API.
This repository is available to transfer to the OpenAI organization if they choose to accept it.
Requirements
This library targets .NET standard 2.0 and above.
Advertising
Watch out my Rystem framework to be able to do .Net webapp faster (easy integration with repository pattern or CQRS for your Azure services).
What is Rystem?
Setup
Install package Rystem.OpenAi from Nuget.
Here's how via command line:
Install-Package Rystem.OpenAi
Documentation
Table of Contents
Dependency Injection
Add to service collection the OpenAi service in your DI
var apiKey = configuration["Azure:ApiKey"];
services.AddOpenAi(settings =>
{
settings.ApiKey = apiKey;
});
Add to service collection the OpenAi service in your DI with Azure integration
When you want to use the integration with Azure, you need to specify all the models you're going to use. In the example you may find the model name for DavinciText3. You still may add a custom model, with AddDeploymentCustomModel.
builder.Services.AddOpenAi(settings =>
{
settings.ApiKey = apiKey;
settings.Azure.ResourceName = "AzureResourceName (Name of your deployed service on Azure)";
settings.Azure
.AddDeploymentTextModel("Test (The name from column 'Model deployment name' in Model deployments blade in your Azure service)", TextModelType.DavinciText3);
});
Models
List and describe the various models available in the API. You can refer to the Models documentation to understand what models are available and the differences between them. You may find more details here, and here samples from unit test.
List Models
Lists the currently available models, and provides basic information about each one such as the owner and availability.
IOpenAiApi _openAiApi;
var results = await _openAiApi.Model.ListAsync();
Retrieve Models
Retrieves a model instance, providing basic information about the model such as the owner and permissioning.
IOpenAiApi _openAiApi;
var result = await _openAiApi.Model.RetrieveAsync(TextModelType.DavinciText3.ToModelId());
Completions
Given a prompt, the model will return one or more predicted completions, and can also return the probabilities of alternative tokens at each position. You may find more details here, and here samples from unit test
IOpenAiApi _openAiApi;
var results = await _openAiApi.Completion
.Request("One Two Three Four Five Six Seven Eight Nine One Two Three Four Five Six Seven Eight")
.WithModel(TextModelType.CurieText)
.WithTemperature(0.1)
.SetMaxTokens(5)
.ExecuteAsync();
Streaming
IOpenAiApi _openAiApi;
var results = new List<CompletionResult>();
await foreach (var x in _openAiApi.Completion
.Request("Today is Monday, tomorrow is", "10 11 12 13 14")
.WithTemperature(0)
.SetMaxTokens(3)
.ExecuteAsStreamAsync())
{
results.Add(x);
}
Product | Versions 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. |
-
.NETStandard 2.1
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 7.0.0)
- Microsoft.Extensions.Http.Polly (>= 7.0.3)
- Polly (>= 7.2.3)
- System.Text.Json (>= 7.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
3.3.12 | 2,077,762 | 4/2/2024 |
3.3.11 | 1,628,634 | 11/2/2023 |
3.3.10 | 3,124 | 10/18/2023 |
3.3.9 | 1,050 | 10/18/2023 |
3.3.8 | 408,954 | 10/17/2023 |
3.3.7 | 5,858 | 10/17/2023 |
3.3.6 | 3,952 | 10/17/2023 |
3.3.5 | 10,786 | 10/16/2023 |
3.3.4 | 215,567 | 9/28/2023 |
3.3.3 | 665,248 | 8/4/2023 |
3.3.2 | 104,005 | 7/27/2023 |
3.3.1 | 116,011 | 7/18/2023 |
3.3.0 | 389,359 | 6/19/2023 |
3.2.0 | 30,417 | 6/17/2023 |
3.1.0 | 152,542 | 6/4/2023 |
3.0.6 | 1,237 | 6/4/2023 |
3.0.5 | 1,328 | 6/4/2023 |
3.0.4 | 80,383 | 5/20/2023 |
3.0.3 | 62,436 | 5/10/2023 |
3.0.2 | 114,134 | 5/5/2023 |
3.0.1 | 61,499 | 5/1/2023 |
3.0.0 | 88,409 | 4/25/2023 |
2.1.0 | 43,369 | 4/22/2023 |
2.0.2 | 29,210 | 4/20/2023 |
2.0.1 | 29,830 | 4/18/2023 |
2.0.0 | 8,793 | 4/17/2023 |
1.0.9 | 57,089 | 4/9/2023 |
1.0.8 | 5,977 | 4/9/2023 |
1.0.7 | 6,925 | 4/7/2023 |
1.0.6 | 7,068 | 4/3/2023 |
1.0.5 | 1,348 | 4/2/2023 |
1.0.4 | 3,143 | 3/14/2023 |
1.0.3 | 1,333 | 3/14/2023 |
1.0.2 | 1,927 | 3/10/2023 |
1.0.1 | 1,289 | 3/10/2023 |
1.0.0 | 1,336 | 3/8/2023 |
0.0.86 | 1,266 | 3/8/2023 |
0.0.85 | 1,356 | 3/8/2023 |
0.0.84 | 1,361 | 3/8/2023 |
0.0.83 | 1,360 | 3/8/2023 |
0.0.82 | 1,390 | 3/8/2023 |
0.0.81 | 1,403 | 3/7/2023 |
0.0.80 | 1,377 | 3/6/2023 |