ai_sdk_ollama 1.1.0 copy "ai_sdk_ollama: ^1.1.0" to clipboard
ai_sdk_ollama: ^1.1.0 copied to clipboard

Ollama provider for AI SDK Dart. Use locally-running Ollama models for text generation and embeddings.

ai_sdk_ollama #

Ollama provider for AI SDK Dart. Run open-source models locally via Ollama — no API key required.

Installation #

dependencies:
  ai_sdk_dart: ^1.1.0
  ai_sdk_ollama: ^1.1.0

Prerequisites #

Install and start Ollama, then pull a model:

# Install: https://ollama.com/download
ollama pull llama3
ollama pull nomic-embed-text  # for embeddings

Ollama runs on http://localhost:11434 by default.

Usage #

Language model #

import 'package:ai_sdk_dart/ai_sdk_dart.dart';
import 'package:ai_sdk_ollama/ai_sdk_ollama.dart';

final result = await generateText(
  model: ollama('llama3'),
  prompt: 'What is the Dart programming language?',
);
print(result.text);

Streaming #

final result = await streamText(
  model: ollama('llama3'),
  prompt: 'Write a short poem about local AI.',
);
await for (final chunk in result.textStream) {
  stdout.write(chunk);
}

Embeddings #

final result = await embed(
  model: ollama.embedding('nomic-embed-text'),
  value: 'Hello, world!',
);
print(result.embedding); // List<double>

Tool use #

Models that support function calling (e.g. llama3.1, mistral):

final result = await generateText(
  model: ollama('llama3.1'),
  prompt: 'What is 42 * 17?',
  maxSteps: 3,
  tools: {
    'calculate': tool<Map<String, dynamic>, String>(
      description: 'Evaluate a math expression.',
      inputSchema: Schema(
        jsonSchema: const {
          'type': 'object',
          'properties': {'expression': {'type': 'string'}},
        },
        fromJson: (json) => json,
      ),
      execute: (input, _) async {
        // evaluate input['expression']
        return '714';
      },
    ),
  },
);
print(result.text);

Custom base URL #

final myOllama = OllamaProvider(baseUrl: 'http://192.168.1.100:11434/api');
final result = await generateText(
  model: myOllama('llama3'),
  prompt: 'Hello from a remote Ollama instance!',
);

With provider registry #

final registry = createProviderRegistry({
  'ollama': RegistrableProvider(
    languageModelFactory: ollama.call,
    embeddingModelFactory: ollama.embedding,
  ),
});

final model = registry.languageModel('ollama:llama3');

License #

MIT

0
likes
150
points
64
downloads

Documentation

API reference

Publisher

verified publisherhashstudios.dev

Weekly Downloads

Ollama provider for AI SDK Dart. Use locally-running Ollama models for text generation and embeddings.

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

ai_sdk_provider, dio

More

Packages that depend on ai_sdk_ollama