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

Libraries

ai_sdk_provider
Provider interface specification for the AI SDK Dart port.