tryAGI.OpenAI
1.1.1
Prefix Reserved
See the version list below for details.
dotnet add package tryAGI.OpenAI --version 1.1.1
NuGet\Install-Package tryAGI.OpenAI -Version 1.1.1
<PackageReference Include="tryAGI.OpenAI" Version="1.1.1" />
<PackageVersion Include="tryAGI.OpenAI" Version="1.1.1" />
<PackageReference Include="tryAGI.OpenAI" />
paket add tryAGI.OpenAI --version 1.1.1
#r "nuget: tryAGI.OpenAI, 1.1.1"
#:package tryAGI.OpenAI@1.1.1
#addin nuget:?package=tryAGI.OpenAI&version=1.1.1
#tool nuget:?package=tryAGI.OpenAI&version=1.1.1
OpenAI
Generated C# SDK based on official OpenAI OpenAPI specification using NSwag
This package includes C# Source Generator which allows you to define functions natively through a C# interface,
and also provides extensions that make it easier to call this interface later.
In addition to easy function implementation and readability,
it generates Args classes, extension methods to easily pass a functions to API,
and extension methods to simply call a function via json and return json.
Currently only System.Text.Json is supported.
Usage
using tryAGI.OpenAI;
public enum Unit
{
Celsius,
Fahrenheit,
}
public class Weather
{
public string Location { get; set; } = string.Empty;
public double Temperature { get; set; }
public Unit Unit { get; set; }
public string Description { get; set; } = string.Empty;
}
[OpenAiFunctions]
public interface IWeatherFunctions
{
[Description("Get the current weather in a given location")]
public Task<Weather> GetCurrentWeatherAsync(
[Description("The city and state, e.g. San Francisco, CA")] string location,
Unit unit = Unit.Celsius,
CancellationToken cancellationToken = default);
}
public class WeatherService : IWeatherFunctions
{
public Task<Weather> GetCurrentWeatherAsync(string location, Unit unit = Unit.Celsius, CancellationToken cancellationToken = default)
{
return Task.FromResult(new Weather
{
Location = location,
Temperature = 22.0,
Unit = unit,
Description = "Sunny",
});
}
}
var service = new WeatherService();
using var httpClient = new HttpClient();
var api = new OpenAiApi(apiKey, httpClient);
var result = await api.CreateChatCompletionAsync(new CreateChatCompletionRequest
{
Messages = new List<ChatCompletionRequestMessage>
{
"You are a helpful weather assistant.".AsSystemMessage(),
"What's the weather like today?".AsUserMessage(),
},
Functions = service.AsFunctions(),
Function_call = Function_call4.Auto,
Model = "gpt-3.5-turbo-0613",
});
// ...
var resultMessage = result.GetFirstChoiceMessage();
var functionArgumentsJson = resultMessage.Function_call?.Arguments ?? string.Empty;
var json = await service.CallGetCurrentWeatherAsync(functionArgumentsJson);
// or just get arguments
var args = service.AsGetCurrentWeatherAsyncArgs(functionArgumentsJson);
Support
Priority place for bugs: https://github.com/tryAGI/OpenAI/issues
Priority place for ideas and general questions: https://github.com/tryAGI/OpenAI/discussions
Discord: https://discord.gg/Ca2xhfBf3v
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- System.Text.Json (>= 7.0.3)
- Tiktoken (>= 1.1.0)
-
.NETStandard 2.0
- System.ComponentModel.Annotations (>= 5.0.0)
- System.Text.Json (>= 7.0.3)
- Tiktoken (>= 1.1.0)
-
net6.0
- Tiktoken (>= 1.1.0)
-
net7.0
- Tiktoken (>= 1.1.0)
NuGet packages (3)
Showing the top 3 NuGet packages that depend on tryAGI.OpenAI:
| Package | Downloads |
|---|---|
|
LangChain.Providers.OpenAI
OpenAI API LLM and Chat model provider. |
|
|
Anyscale
SDK for Anyscale Endpoint that makes it easy and cheap to use LLama 2 |
|
|
LangChain.Serve.OpenAI
LangChain Serve as OpenAI sdk compatible API |
GitHub repositories (1)
Showing the top 1 popular GitHub repositories that depend on tryAGI.OpenAI:
| Repository | Stars |
|---|---|
|
tryAGI/LangChain
C# implementation of LangChain. We try to be as close to the original as possible in terms of abstractions, but are open to new entities.
|
| Version | Downloads | Last Updated |
|---|---|---|
| 4.2.1-dev.6 | 2,741 | 3/9/2025 |
| 4.2.1-dev.3 | 136 | 2/27/2025 |
| 4.2.0 | 19,373 | 2/11/2025 |
| 4.1.0 | 631 | 2/3/2025 |
| 4.0.0 | 36,736 | 1/27/2025 |
| 3.9.3-dev.40 | 202 | 1/7/2025 |
| 3.9.3-dev.38 | 107 | 1/7/2025 |
| 3.9.3-dev.37 | 125 | 1/7/2025 |
| 3.9.3-dev.36 | 294 | 1/7/2025 |
| 3.9.3-dev.35 | 128 | 1/7/2025 |
| 3.9.3-dev.31 | 154 | 12/19/2024 |
| 3.9.3-dev.14 | 133 | 11/15/2024 |
| 3.9.3-dev.13 | 134 | 11/15/2024 |
| 3.9.3-dev.1 | 126 | 10/26/2024 |
| 3.9.2 | 3,523 | 10/26/2024 |
| 3.9.2-dev.7 | 3,689 | 10/25/2024 |
| 3.9.2-dev.6 | 119 | 10/25/2024 |
| 3.9.2-dev.4 | 112 | 10/25/2024 |
| 3.9.2-dev.1 | 222 | 10/24/2024 |
| 3.9.1 | 188 | 10/24/2024 |
| 3.8.2-dev.13 | 142 | 10/14/2024 |
| 3.8.2-dev.10 | 122 | 10/13/2024 |
| 3.8.2-dev.9 | 123 | 10/13/2024 |
| 3.8.1 | 1,065 | 10/9/2024 |
| 3.8.1-dev.14 | 130 | 10/2/2024 |
| 3.8.1-dev.13 | 118 | 10/2/2024 |
| 3.8.1-dev.6 | 104 | 9/28/2024 |
| 3.8.1-dev.3 | 107 | 9/28/2024 |
| 3.8.1-dev.2 | 109 | 9/26/2024 |
| 3.8.0 | 1,148 | 9/26/2024 |
| 3.7.1-dev.14 | 116 | 9/24/2024 |
| 3.7.1-dev.12 | 130 | 9/23/2024 |
| 3.7.1-dev.5 | 155 | 9/16/2024 |
| 3.7.1-dev.3 | 30,659 | 9/15/2024 |
| 3.7.0 | 476 | 9/14/2024 |
| 3.6.4-dev.10 | 119 | 9/14/2024 |
| 3.6.4-dev.9 | 117 | 9/14/2024 |
| 3.6.4-dev.7 | 119 | 9/13/2024 |
| 3.6.4-dev.5 | 121 | 9/9/2024 |
| 3.6.3 | 753 | 9/2/2024 |
| 3.6.2 | 234 | 9/1/2024 |
| 3.6.1 | 253 | 9/1/2024 |
| 3.5.2-dev.24 | 141 | 8/31/2024 |
| 3.5.2-dev.22 | 114 | 8/31/2024 |
| 3.5.2-dev.21 | 131 | 8/31/2024 |
| 3.5.2-dev.14 | 116 | 8/29/2024 |
| 3.5.2-dev.10 | 145 | 8/24/2024 |
| 3.5.2-dev.9 | 147 | 8/21/2024 |
| 3.5.2-dev.7 | 145 | 8/19/2024 |
| 3.5.2-dev.6 | 114 | 8/19/2024 |
| 3.5.2-dev.5 | 139 | 8/19/2024 |
| 3.5.2-dev.2 | 150 | 8/18/2024 |
| 3.5.1 | 962 | 8/18/2024 |
| 3.5.1-dev.4 | 141 | 8/18/2024 |
| 3.5.1-dev.3 | 145 | 8/18/2024 |
| 3.5.0 | 248 | 8/17/2024 |
| 3.4.2-dev.5 | 142 | 8/17/2024 |
| 3.4.2-dev.1 | 134 | 8/17/2024 |
| 3.4.1 | 342 | 8/16/2024 |
| 3.4.0 | 258 | 8/16/2024 |
| 3.3.1-dev.17 | 146 | 8/15/2024 |
| 3.3.1-dev.16 | 122 | 8/15/2024 |
| 3.3.1-dev.14 | 128 | 8/15/2024 |
| 3.3.1-dev.12 | 156 | 8/13/2024 |
| 3.3.1-dev.11 | 149 | 8/13/2024 |
| 3.3.1-dev.8 | 125 | 8/12/2024 |
| 3.3.1-dev.7 | 134 | 8/12/2024 |
| 3.3.1-dev.1 | 99 | 8/6/2024 |
| 3.3.0 | 435 | 8/6/2024 |
| 3.2.2-dev.3 | 94 | 8/6/2024 |
| 3.2.1 | 1,181 | 8/6/2024 |
| 3.2.1-dev.2 | 106 | 8/6/2024 |
| 3.2.1-dev.1 | 99 | 8/5/2024 |
| 3.2.0 | 211 | 8/5/2024 |
| 3.1.1-dev.1 | 106 | 8/4/2024 |
| 3.1.0 | 271 | 8/1/2024 |
| 3.0.4-dev.11 | 111 | 8/1/2024 |
| 3.0.4-dev.9 | 717 | 7/24/2024 |
| 3.0.4-dev.8 | 167 | 7/23/2024 |
| 3.0.4-dev.6 | 227 | 7/20/2024 |
| 3.0.4-dev.5 | 97 | 7/20/2024 |
| 3.0.4-dev.4 | 110 | 7/20/2024 |
| 3.0.4-dev.3 | 100 | 7/20/2024 |
| 3.0.4-dev.2 | 125 | 7/19/2024 |
| 3.0.4-dev.1 | 120 | 7/18/2024 |
| 3.0.3 | 268 | 7/18/2024 |
| 3.0.3-dev.1 | 106 | 7/18/2024 |
| 3.0.1 | 211 | 7/13/2024 |
| 3.0.0 | 230 | 7/11/2024 |
| 3.0.0-alpha.3 | 111 | 7/7/2024 |
| 3.0.0-alpha.2 | 109 | 7/6/2024 |
| 2.0.9 | 44,607 | 5/14/2024 |
| 2.0.8 | 246 | 4/29/2024 |
| 2.0.7 | 229 | 4/29/2024 |
| 2.0.6 | 10,848 | 4/22/2024 |
| 2.0.5 | 735 | 4/10/2024 |
| 2.0.4 | 609 | 4/4/2024 |
| 2.0.3 | 229 | 4/3/2024 |
| 2.0.2 | 304 | 4/3/2024 |
| 2.0.1 | 244 | 4/2/2024 |
| 2.0.0 | 406 | 3/22/2024 |
| 2.0.0-alpha.10 | 3,910 | 2/23/2024 |
| 2.0.0-alpha.9 | 44,643 | 1/27/2024 |
| 2.0.0-alpha.8 | 116 | 1/27/2024 |
| 2.0.0-alpha.7 | 149 | 1/20/2024 |
| 2.0.0-alpha.5 | 562 | 12/5/2023 |
| 2.0.0-alpha.4 | 252 | 11/16/2023 |
| 2.0.0-alpha.3 | 158 | 11/16/2023 |
| 2.0.0-alpha.2 | 122 | 11/16/2023 |
| 2.0.0-alpha.1 | 123 | 11/15/2023 |
| 2.0.0-alpha.0 | 121 | 11/15/2023 |
| 1.8.2 | 166,294 | 10/13/2023 |
| 1.8.1 | 623 | 10/11/2023 |
| 1.8.0 | 371 | 9/29/2023 |
| 1.7.2 | 2,000 | 8/15/2023 |
| 1.7.1 | 270 | 8/15/2023 |
| 1.7.0 | 432 | 8/15/2023 |
| 1.6.3 | 2,498 | 7/29/2023 |
| 1.6.1 | 259 | 7/29/2023 |
| 1.6.0 | 449 | 7/29/2023 |
| 1.5.0 | 791 | 7/13/2023 |
| 1.4.1 | 277 | 7/12/2023 |
| 1.4.0 | 282 | 7/12/2023 |
| 1.3.0 | 271 | 7/12/2023 |
| 1.2.0 | 763 | 7/5/2023 |
| 1.1.2 | 560 | 6/30/2023 |
| 1.1.1 | 250 | 6/30/2023 |
| 1.1.0 | 275 | 6/29/2023 |
| 1.0.0 | 285 | 6/28/2023 |
| 0.9.0 | 333 | 6/24/2023 |
| 0.0.0-dev.150 | 122 | 7/18/2024 |
| 0.0.0-dev | 181 | 9/14/2024 |