ai_sdk_provider 1.0.0
ai_sdk_provider: ^1.0.0 copied to clipboard
Provider interface specification for the AI SDK Dart port. Defines the LanguageModelV3, EmbeddingModelV2, and ImageModelV3 interfaces that all provider packages must implement.
ai_sdk_provider #
Provider interface specification for the AI SDK Dart — defines the contracts that all provider packages must implement.
This package is an implementation detail. You do not need to add it as a direct dependency — it is a transitive dependency of ai and all provider packages.
Interfaces #
| Interface | Description |
|---|---|
LanguageModelV3 |
Text generation and streaming |
EmbeddingModelV2<VALUE> |
Text / multimodal embeddings |
ImageModelV3 |
Image generation |
SpeechModelV1 |
Text-to-speech |
TranscriptionModelV1 |
Speech-to-text |
RerankModelV1 |
Document reranking |
Implementing a custom provider #
import 'package:ai_sdk_provider/ai_sdk_provider.dart';
class MyProvider implements LanguageModelV3 {
@override
String get provider => 'my-provider';
@override
String get modelId => 'my-model';
@override
String get specificationVersion => 'v3';
@override
Future<LanguageModelV3GenerateResult> doGenerate(
LanguageModelV3CallOptions options,
) async {
// Call your API here...
return LanguageModelV3GenerateResult(
content: [LanguageModelV3TextPart(text: 'Hello from my provider!')],
finishReason: LanguageModelV3FinishReason.stop,
);
}
@override
Future<LanguageModelV3StreamResult> doStream(
LanguageModelV3CallOptions options,
) async {
// Return a stream of LanguageModelV3StreamPart events...
throw UnimplementedError();
}
}
License #
MIT