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 for most applications. You do not need to add it as a direct dependency unless you are building a custom provider; it is a transitive dependency of ai_sdk_dart and the provider packages.

Custom providers upgrading from 1.x should read the 2.0 migration guide before adopting the V4 contract.

Interfaces

Interface Description
LanguageModelV4 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 extends LanguageModelV4 {
  @override
  String get provider => 'my-provider';

  @override
  String get modelId => 'my-model';

  @override
  String get specificationVersion => 'v4';

  @override
  Future<LanguageModelV4GenerateResult> doGenerate(
    LanguageModelV4CallOptions options,
  ) async {
    // Call your API here...
    return LanguageModelV4GenerateResult(
      content: [LanguageModelV4TextPart(text: 'Hello from my provider!')],
      finishReason: LanguageModelV4FinishReason.stop,
    );
  }

  @override
  Future<LanguageModelV4StreamResult> doStream(
    LanguageModelV4CallOptions options,
  ) async {
    // Return a stream of LanguageModelV4StreamPart events...
    throw UnimplementedError();
  }
}

License

MIT

Libraries

ai_sdk_provider
Provider interface specification for the AI SDK Dart port.