Assisters API
SDKs

C# SDK

Install and use the Assisters C# SDK

Installation

dotnet add package Misar.Assisters

Quick Start

using Misar.Assisters;
using Misar.Assisters.Models;

var client = new AssistersClient(Environment.GetEnvironmentVariable("ASSISTERS_API_KEY")!);

var request = new ChatCompletionRequest
{
    Model = "assisters-chat-v1",
    Messages = [new ChatMessage { Role = "user", Content = "Hello, world!" }],
};

var response = await client.Chat.Completions.CreateAsync(request);
Console.WriteLine(response.Choices[0].Message.Content);

Available Methods

MethodDescription
client.Chat.Completions.CreateAsync(request, ct)Create a chat completion
client.Chat.Completions.CreateStreamAsync(request, ct)Streaming — returns IAsyncEnumerable<ChatCompletionChunk>
client.Embeddings.CreateAsync(request, ct)Generate embeddings
client.Moderations.CreateAsync(request, ct)Moderate text content
client.Rerank.CreateAsync(request, ct)Rerank documents against a query
client.Models.ListAsync(ct)List available models
client.Audio.Transcriptions.CreateAsync(request, ct)Transcribe an audio file

Streaming

var stream = client.Chat.Completions.CreateStreamAsync(new ChatCompletionRequest
{
    Model = "assisters-chat-v1",
    Messages = [new ChatMessage { Role = "user", Content = "Tell me a story" }],
    Stream = true,
});

await foreach (var chunk in stream)
{
    var content = chunk.Choices[0].Delta?.Content;
    if (content is not null) Console.Write(content);
}

Error Handling

using Misar.Assisters.Exceptions;

try
{
    var response = await client.Chat.Completions.CreateAsync(request);
    Console.WriteLine(response.Choices[0].Message.Content);
}
catch (AssistersApiException ex)
{
    Console.WriteLine($"API error {ex.StatusCode}: {ex.Message}");
}
catch (AssistersNetworkException ex)
{
    Console.WriteLine($"Network error: {ex.Message}");
}