Genkit is an open source framework developed by Firebase that helps developers build AI-powered applications using familiar code-centric patterns. It provides unified APIs for generating text, media, structured objects, and tool calls from any generative model, along with vector database support for retrieval-augmented generation. Genkit includes enhanced prompt engineering capabilities, AI workflows, and built-in streaming, making it easier to develop, integrate, and test AI features with observability and evaluations.
Firebase Genkit is a comprehensive framework for building AI-powered applications with support for Node.js and Go. It provides a unified approach to working with generative AI models, vector databases, and AI workflows, making it easier to develop sophisticated AI features in your applications.
To get started with Genkit, you can install it globally or as a project dependency:
npm install -g genkit
npm install genkit
For Go applications:
go get github.com/firebase/genkit/go
Genkit provides a consistent API for generating content from any supported AI model, whether you're generating text, media, structured objects, or tool calls.
Easily implement retrieval-augmented generation (RAG) with simple indexing and retrieval APIs that work across different vector database providers.
Define rich prompt templates, model configurations, input/output schemas, and tools within a single .prompt
file, making your AI interactions more maintainable and testable.
Organize your AI logic into "Flows" - functions designed for observability, streaming, and easy integration with Genkit devtools. These flows can be deployed as API endpoints.
Stream content from your Genkit API endpoints to create responsive user experiences.
The Genkit CLI helps you run and evaluate your Genkit functions while collecting telemetry and logs:
# Run your application with Genkit telemetry
genkit start -- <command to run your code>
Genkit includes a local developer UI for testing, debugging, and iterating on your AI application. Key features include:
Genkit can be extended with plugins for specific AI models, vector databases, and platform integrations:
You can also create your own plugins following the plugin authoring guides in the documentation.
Genkit is versatile and can be used to build various AI applications:
For more detailed information, refer to the official documentation:
The Genkit repository includes several sample applications to help you get started: