Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/genkit-ai/genkit/llms.txt

Use this file to discover all available pages before exploring further.

Genkit’s plugin system lets you swap in any model provider, vector store, or telemetry backend without changing your application code. A plugin registers one or more actions — models, embedders, retrievers, indexers, evaluators — into the Genkit registry. Your flows call those actions by name and never depend on a specific provider’s SDK directly.

How plugins extend Genkit

Every plugin follows the same lifecycle:
  1. Register — pass the plugin to genkit({ plugins: [...] }) (JS/TS), genkit.Init(ctx, genkit.WithPlugins(...)) (Go), or Genkit(plugins=[...]) (Python).
  2. Lazy init — the registry calls init() / Init() on first use, not at startup, so cold-start cost is minimised.
  3. Resolve — when your code references googleai/gemini-2.5-flash, the registry asks the googleai plugin to materialise that action on demand.
  4. List — the Dev UI calls list() / list_actions() to enumerate every available model or embedder for the action explorer.
You can configure multiple plugins in the same Genkit instance — for example googleAI() for prototyping and vertexAI() for production — and choose between them at call time by qualifying the model name with its provider prefix.

Official plugins

JavaScript / TypeScript

PluginPackageCategoryNotes
Google AI (Gemini)@genkit-ai/google-genaiModel providerGemini, Imagen, Veo, TTS via AI Studio API
Vertex AI@genkit-ai/google-genaiModel providerGemini + Imagen on GCP (same package, different export)
Ollama@genkit-ai/ollamaModel providerLocal models via Ollama server
Firebase@genkit-ai/firebaseVector store / telemetryFirestore vector search, Firebase telemetry
Anthropicgenkitx-anthropicModel providerClaude 3.5 / 4 (community)
OpenAI-compatiblegenkitx-openaiModel providerOpenAI, OpenRouter, together.ai (community)
Pineconegenkitx-pineconeVector storePinecone vector database (community)
Chromagenkitx-chromadbVector storeChromaDB (community)
LangChaingenkitx-langchainIntegrationUse LangChain tools inside Genkit (community)
Google Cloud@genkit-ai/google-cloudTelemetryCloud Trace + Cloud Logging

Go

PluginImport pathCategory
Google AI / Vertex AIgithub.com/firebase/genkit/go/plugins/googlegenaiModel provider
Ollamagithub.com/firebase/genkit/go/plugins/ollamaModel provider
Firebasegithub.com/firebase/genkit/go/plugins/firebaseVector store / telemetry
Google Cloudgithub.com/firebase/genkit/go/plugins/googlecloudTelemetry

Python

PluginPackageCategory
Google AI (Gemini)genkit-google-genai-pluginModel provider
Vertex AIgenkit-google-genai-pluginModel provider
Ollamagenkit-ollama-pluginModel provider
Anthropicgenkit-anthropic-pluginModel provider
OpenAI-compatiblegenkit-compat-oai-pluginModel provider
DeepSeekgenkit-deepseek-pluginModel provider
xAI (Grok)genkit-xai-pluginModel provider
Mistralgenkit-mistral-pluginModel provider
Hugging Facegenkit-huggingface-pluginModel provider
Firebasegenkit-firebase-pluginVector store / telemetry
Google Cloudgenkit-google-cloud-pluginTelemetry

Quick start

import { genkit } from 'genkit';
import { googleAI } from '@genkit-ai/google-genai';

const ai = genkit({
  plugins: [googleAI()],
});

const { text } = await ai.generate({
  model: googleAI.model('gemini-2.5-flash'),
  prompt: 'Hello, Genkit!',
});

The plugin interface

At its core, a plugin implements three methods:
MethodPurpose
init()One-time setup — create API clients, register known actions. Called lazily on first use.
resolve(actionType, name)Materialise a single action by kind and name (e.g. a model not registered at init time).
list()Return metadata for all available actions so the Dev UI can enumerate them.
In TypeScript the modern interface is GenkitPluginV2 (from genkit/plugin). In Go plugins implement the api.Plugin interface. In Python plugins extend the abstract Plugin base class from genkit._core.plugin. See Writing plugins for a complete walkthrough.

Google AI plugin

Gemini, Imagen, Veo, and embeddings via the Gemini Developer API.

Vertex AI plugin

Enterprise access to Google models on Google Cloud.

Ollama plugin

Run Llama, Mistral, Gemma, and other models fully locally.

Firebase plugin

Firestore vector search and Firebase telemetry.

Writing plugins

Build your own plugin and publish it to npm.

RAG guide

Use retrievers and embedders together for retrieval-augmented generation.

Build docs developers (and LLMs) love