SDKs
Dart SDK
Install and use the Assisters Dart SDK
Installation
Add to pubspec.yaml:
dependencies:
assisters: ^0.1.0Then run:
dart pub getQuick Start
import 'package:assisters/assisters.dart';
void main() async {
final client = AssistersClient(apiKey: Platform.environment['ASSISTERS_API_KEY']!);
final response = await client.chat.completions.create(
ChatCompletionRequest(
model: 'assisters-chat-v1',
messages: [ChatMessage(role: 'user', content: 'Hello, world!')],
),
);
print(response.choices.first.message.content);
client.close();
}Available Methods
| Method | Description |
|---|---|
client.chat.completions.create(request) | Create a chat completion |
client.chat.completions.createStream(request) | Create a streaming chat completion, returns Stream<ChatCompletionChunk> |
client.embeddings.create(request) | Generate embeddings for one or more inputs |
client.moderations.create(request) | Moderate text content |
client.rerank.create(request) | Rerank documents against a query |
client.models.list() | List available models |
client.audio.transcriptions.create(request) | Transcribe an audio file |
client.close() | Close the underlying HTTP client |
Key Types
class ChatCompletionRequest {
final String model;
final List<ChatMessage> messages;
final double? temperature;
final int? maxTokens;
final bool? stream;
}
class ChatMessage {
final String role; // 'system' | 'user' | 'assistant'
final String content;
}
class EmbeddingRequest {
final String model;
final List<String> input;
}
class RerankRequest {
final String model;
final String query;
final List<String> documents;
final int? topN;
}Streaming
final stream = client.chat.completions.createStream(
ChatCompletionRequest(
model: 'assisters-chat-v1',
messages: [ChatMessage(role: 'user', content: 'Tell me a story')],
stream: true,
),
);
await for (final chunk in stream) {
final content = chunk.choices.first.delta.content;
if (content != null) stdout.write(content);
}Error Handling
import 'package:assisters/assisters.dart';
try {
final response = await client.chat.completions.create(request);
} on AssistersApiException catch (e) {
print('API error ${e.statusCode}: ${e.message}');
} on AssistersNetworkException catch (e) {
print('Network error: ${e.message}');
}