Overview
Genkit is an open-source framework for building full-stack AI-powered applications, built and used in production by Google's Firebase. It puts a unified interface over models from providers including Google, OpenAI, Anthropic and Ollama, so the code that generates text, calls a tool or returns structured data stays the same when you change the model behind it.
Its distinguishing trait is cross-language parity: the same concepts and APIs ship as SDKs for JavaScript/TypeScript and Go (both production-ready with full feature support), Python (beta, wide feature support), and Dart (preview, core functionality). That makes it unusual among AI app frameworks, most of which are Python-first with a thinner port elsewhere.
Around the model calls, Genkit provides the pieces an app needs: prompt templating via Dotprompt, type-safe structured output, tool calling and agentic workflows, persisted chat interfaces, retrieval-augmented generation, and flows for multi-step logic. A local CLI and Developer UI let you test prompts and flows against single inputs or datasets, compare model outputs and read execution traces, and a production monitoring dashboard tracks latency, request volume and error rates once deployed. Genkit runs server-side in any environment that supports its language — Cloud Functions for Firebase, Google Cloud Run or third-party platforms, with or without Google services — and offers client SDKs for Next.js, React, Angular, iOS and Android.
What it does
- Unified interface over models from Google, OpenAI, Anthropic, Ollama and more, so providers can be swapped without rewriting app code
- SDKs with consistent APIs for JavaScript/TypeScript and Go (production-ready), Python (beta) and Dart (preview)
- Streamlined APIs for structured output, agentic tool calling, context-aware generation, multimodal input/output and persisted chat
- Flows for multi-step AI logic, Dotprompt prompt templating and built-in RAG primitives
- Local CLI and Developer UI to test prompts and flows on inputs or datasets, compare model outputs and inspect execution traces
- Production monitoring dashboard for model performance, request volume, latency and error rates
Getting started
The quickest path is the JavaScript/TypeScript SDK with the Google GenAI plugin. You supply the provider's API key; Genkit handles the call.
Install Genkit and a model plugin
The core package plus the plugin for whichever provider you want to start with.
npm install genkit @genkit-ai/google-genaiConfigure the instance and generate
Create a Genkit instance with the plugins you need, then call generate with a model and a prompt.
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-flash-latest'),
prompt: 'What is the meaning of life?'
});Iterate in the Developer UI
The Genkit CLI runs a local Developer UI where you can exercise prompts and flows, compare outputs across models and read detailed traces. See genkit.dev/docs/devtools for the full tooling guide.
Pick another language
The same concepts are available in Go, Python (beta) and Dart (preview). Per-language installation and API docs live at genkit.dev, and runnable sample apps with their source are at examples.genkit.dev.
Commands and code are distilled from the project's own documentation — always check the official repo for the latest.
When to use it
- Build a chatbot, automation or recommendation feature in TypeScript or Go without committing to a single model vendor
- Add AI to an existing Firebase or Cloud Run backend, using client SDKs to reach it from Next.js, React, Angular, iOS or Android
- Prototype a prompt or flow in the local Developer UI, comparing model outputs side by side before shipping it
- Stand up a RAG feature with tool calling and type-safe structured output, then watch latency and error rates on the monitoring dashboard
How Genkit compares
Genkit alongside other open-source app frameworks tools AI/TLDR tracks, ranked by GitHub stars.
| Tool | Stars | What it does |
|---|---|---|
| LangChain | ★ 147k | A widely used Python and JavaScript framework for building LLM applications by composing models, prompts, tools, retrievers, and memory into chains. |
| LlamaIndex | ★ 52.2k | A data framework for connecting language models to your own documents and data sources, with built-in agent and retrieval (RAG) tooling. |
| Haystack | ★ 26.5k | An orchestration framework from deepset for building modular LLM pipelines and agents for search, RAG, and question answering. |
| Jina | ★ 21.9k | Jina-serve is a Python framework for building, scaling, and deploying AI services and multi-step pipelines that communicate over gRPC, HTTP, and WebSockets. |
| LLM | ★ 12.5k | Simon Willison's plugin-extensible CLI and Python library for prompting remote and local models, logging every prompt and response to SQLite, and generating embeddings. |
| Prompt Flow | ★ 11.2k | Microsoft's toolkit for building LLM apps as executable flows that link prompts, Python code, and tools, with tracing, batch evaluation, and deployment. |
| Rig | ★ 8.7k | A Rust library for building LLM-powered applications, giving one unified interface over 20+ model providers and 10+ vector stores plus an agent runtime with streaming, tools, and OpenTelemetry GenAI tracing. |
| Genkit | ★ 6.4k | One AI app framework across JavaScript, Go, Python and Dart, with a local dev UI |