ResearchAI 1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package ResearchAI --version 1.0.0
NuGet\Install-Package ResearchAI -Version 1.0.0
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="ResearchAI" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ResearchAI" Version="1.0.0" />
<PackageReference Include="ResearchAI" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ResearchAI --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: ResearchAI, 1.0.0"
#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.
#:package ResearchAI@1.0.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ResearchAI&version=1.0.0
#tool nuget:?package=ResearchAI&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
π¬ ResearchAI is an Azure OpenAI Chat Client (.NET)
This project provides a simple yet extensible .NET wrapper for Azure OpenAI's Chat Completion API, including:
- Per-session chat memory (thread-safe)
- Configurable
ChatCompletionOptions
(like temperature, penalties, token limits) - Injection of system context
- Clean abstraction for chatbot/message processing
π Features
- β
Session-based memory (thread-safe with
ConcurrentDictionary
) - β
Configurable model behavior via
ChatCompletionSettings
- β Custom system context per session
- β Automatically limits and validates Azure AI parameters
π§ Configuration
Hereβs how you can configure the client in your application:
{
"AzureOpenAI": {
"Endpoint": "https://<your-openai-resource>.openai.azure.com/",
"Key": "<your-api-key>",
"DeploymentName": "gpt-35-turbo",
"SystemContext": "You are a creative assistant for generating photo captions.",
"ChatCompletionSettings": {
"Temperature": 0.8,
"MaxOutputTokenCount": 800,
"FrequencyPenalty": 0.2,
"PresencePenalty": 0.3
}
}
}
π§ͺ Sample Usage
var options = new AzureOpenAIOptions
{
Endpoint = "<your-endpoint>",
Key = "<your-key>",
DeploymentName = "gpt-35-turbo",
SystemContext = "You are a helpful assistant.",
ChatCompletionSettings = new ChatCompletionSettings
{
Temperature = 0.7f,
MaxOutputTokenCount = 800,
FrequencyPenalty = 0.0f,
PresencePenalty = 0.0f
}
};
var openAI = new AzureOpenAI(options);
var response = await openAI.SendMessageAsync("user-session-id", "Describe a sunset wedding on the beach.");
Console.WriteLine(response.Content[0].Text);
π§ How It Works
- First message initializes a session with the system prompt.
- Each user message is added to the session history.
- The history is passed to Azure OpenAI to maintain conversation context.
- The assistant response is added back into the session.
π Notes
Temperature
andPenalty
values are clamped to valid ranges (0β2).MaxOutputTokenCount
is limited between 512 and 800 to fit model constraints.- You must provide a valid
sessionId
for session tracking to work.
π¦ Dependencies
Azure.AI.OpenAI
System.Collections.Concurrent
π License
Apache 2.0 License
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. 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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Azure.AI.OpenAI (>= 2.1.0)
- Microsoft.Extensions.Options (>= 9.0.7)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.