genkit_flutter_edge_ai library
Genkit Dart plugin for flutter_edge_ai — local on-device AI inference.
Wraps flutter_edge_ai as a Genkit model provider, enabling on-device inference with Google Gemma, DeepSeek, Qwen, Llama, and other supported architectures.
Quick Start
import 'package:genkit/genkit.dart';
import 'package:genkit_flutter_edge_ai/genkit_flutter_edge_ai.dart';
import 'package:flutter_edge_ai/flutter_edge_ai.dart';
// 1. Initialize flutter_edge_ai and install a model (host app responsibility).
await FlutterEdgeAi.initialize();
await FlutterEdgeAi.installModel(modelType: ModelType.gemmaIt)
.fromNetwork('https://...')
.install();
// 2. Create Genkit with the plugin.
final ai = Genkit(plugins: [
GenkitFlutterEdgeAiPlugin(
models: [
FlutterEdgeAiModelConfig(
name: 'gemma-3-nano',
modelType: ModelType.gemmaIt,
),
],
embedders: [
FlutterEdgeAiEmbedderConfig(name: 'embedding-gemma-300m'),
],
),
]);
// 3. Generate.
final response = await ai.generate(
model: flutterEdgeAi.model('gemma-3-nano'),
prompt: 'Tell me a joke',
);
print(response.text);
Classes
- ContextWindowMiddleware
- Middleware that trims the oldest conversation turns so a request fits the on-device model's context window (KV-cache budget).
- DefaultFlutterEdgeAiRuntime
-
Default runtime that delegates to
gemma.FlutterEdgeAistatic methods. - FlutterEdgeAiEmbedConfig
- Configuration options for flutter_edge_ai embedding generation.
- FlutterEdgeAiEmbedderConfig
- Configuration for an embedder exposed by GenkitFlutterEdgeAiPlugin.
- FlutterEdgeAiModelConfig
- Configuration for a single model exposed by GenkitFlutterEdgeAiPlugin.
- FlutterEdgeAiModelOptions
- Configuration options for flutter_edge_ai model inference.
- FlutterEdgeAiPluginHandle
- Convenience handle for referencing flutter-edge-ai models and embedders.
- FlutterEdgeAiRuntime
- Abstraction over flutter_edge_ai static API for testability.
- GenkitFlutterEdgeAiPlugin
- Genkit plugin that bridges flutter_edge_ai for on-device AI inference and embedding generation.
Constants
- flutterEdgeAi → const FlutterEdgeAiPluginHandle
- Global convenience instance for referencing flutter-edge-ai models and embedders.
- kContextWindowMiddlewareName → const String
-
Registry name of the context-window trimmer. Shared by the plugin's
GenkitPlugin.middlewareregistration and the trimContext ref so the two can never drift apart.
Functions
-
contextWindowMiddlewareDef(
) → GenerateMiddlewareDef< Map< String, dynamic> > -
The middleware definition to register from the plugin's
GenkitPlugin.middlewarehook. -
trimContext(
{int? maxInputTokens, int? reserveOutputTokens}) → GenerateMiddlewareRef< Map< String, dynamic> > - Reference the context-window trimmer in a generate call: