SDKs
C# SDK
Install and use the Assisters C# SDK
Installation
dotnet add package Misar.AssistersQuick 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
| Method | Description |
|---|---|
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}");
}