📑 Docs • 🌐 Website • 🤝 Contribute • ✍🏽 Blogs •
✨ If you would like to help spread the word about Rig, please consider starring the repo!
Warning
Here be dragons! As we plan to ship a torrent of features in the following months, future updates will contain breaking changes. With Rig evolving, we'll annotate changes and highlight migration paths as we encounter them.
Rig is a Rust library for building scalable, modular, and ergonomic LLM-powered applications.
More information about this crate can be found in the official and crate API reference documentation.
- Agentic workflows that can handle multi-turn streaming and prompting
- A classic agent runtime enabled by default
- Full GenAI Semantic Conventioncompatibility - 20+ model providers, all under one singular unified interface
- 10+ vector store integrations, all under one singular unified interface
- Full support for LLM completion and embedding workflows
- Support for transcription, audio generation and image generation model capabilities
- Integrate LLMs in your app with minimal boilerplate
- Browser-WASM (
wasm32-unknown-unknown
) support for the portable core and classic runtime — seetarget supportfor the full matrix (WASI is not supported;rig-rmcp
/MCP is native-only)
Rig separates portable provider/backend contracts from agent orchestration:
rig-core
contains provider-neutral messages, completion models, portable tools, memory and vector-store contracts, and built-in provider mappings.rig-agent
contains the classic builder, prompt/streaming traits, typed hooks, contextual tools, extraction, and the serializableAgentRun
state machine. It remains enabled by default.
The root rig
facade re-exports both at their familiar paths, so most code
depends only on rig
.
Below is a non-exhaustive list of companies and people who are using Rig:
St Jude- Using Rig for a chatbot utility as part of, a genomics visualisation tool.proteinpaint
Coral Protocol- Using Rig extensively, both internally as well as part of theCoral Rust SDK.VT Code- VT Code is a Rust-based terminal coding agent with semantic code intelligence via Tree-sitter and ast-grep. VT Code usesrig
for simplifying LLM calls and implementing the model picker.Con- Con is a GPU-accelerated terminal emulator with a built-in AI agent harness. It uses Rig as the provider abstraction layer for its integrated coding agents.Dria- a decentralised AI network. Currently using Rig as part of theircompute node.Nethermind- Using Rig as part of theirNeural Interconnected Nodes Engineframework.Neon- Using Rig for theirapp.buildV2 reboot in Rust.Listen- A framework aiming to become the go-to framework for AI portfolio management agents. Powersthe Listen app.Cairnify- helps users find documents, links, and information instantly through an intelligent search bar. Rig provides the agentic foundation behind Cairnify’s AI search experience, enabling tool-calling, reasoning, and retrieval workflows.Ryzome- Ryzome is a visual AI workspace that lets you build interconnected canvases of thoughts, research, and AI agents to orchestrate complex knowledge work.deepwiki-rs- Turn code into clarity. Generate accurate technical docs and AI-ready context in minutes—perfectly structured for human teams and intelligent agents.Cortex Memory- The production-ready memory system for intelligent agents. A complete solution for memory management, from extraction and vector search to automated optimization, with a REST API, MCP, CLI, and insights dashboard out-of-the-box.Ironclaw- A secure personal AI assistantilert- Incident management & alerting platform. Uses Rig as the multi-provider abstraction in its agentic LLM proxy powering ilert AI.Archestra- MCP-native secure AI platform. Uses Rig in its agentic benchmark.
For a curated list of Rig projects, libraries, tools, articles, and production users, check out awesome-rig.
Are you also using Rig? Open an issue to have your name added!
Use the root rig
facade when you want feature-gated access to companion crates,
or use rig-core
directly when you only need the core provider abstractions.
cargo add rig
use rig::prelude::*;
use rig::providers::openai;
#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
// Create OpenAI client
let client = openai::Client::from_env()?;
// Create agent with a single context prompt
let comedian_agent = client
.agent(openai::GPT_5_2)
.preamble("You are a comedian here to entertain the user using humour and jokes.")
.build();
// Prompt the agent and print the response
let response = comedian_agent.prompt("Entertain me!").await?;
println!("{response}");
Ok(())
}
Note using #[tokio::main]
requires you enable tokio's macros
and rt-multi-thread
features
or just full
to enable all features (cargo add tokio --features macros,rt-multi-thread
).
You can find more examples in each crate's examples
directory (for example, examples). Provider-specific integration coverage lives under
tests/providers
tests/README.md
Dev.to Blogand added to Rig's official documentation at
The root rig
facade exposes companion crates behind one feature per integration:
rig = { version = "0.36.0", features = ["lancedb", "fastembed"] }
| Integration | Crate | Feature | Module path |
|---|---|---|---|
| AWS Bedrock | |||
rig-bedrock |
bedrock
rig::bedrock
rig-s3vectors
s3vectors
rig::s3vectors
rig-candle
candle
rig::candle
rig-vectorize
vectorize
rig::vectorize
rig-fastembed
fastembed
rig::fastembed
rig-gemini-grpc
gemini-grpc
rig::gemini_grpc
rig-vertexai
vertexai
rig::vertexai
rig-helixdb
helixdb
rig::helixdb
rig-lancedb
lancedb
rig::lancedb
rig-memory
memory
rig::memory
rig-milvus
milvus
rig::milvus
rig-mongodb
mongodb
rig::mongodb
rig-neo4j
neo4j
rig::neo4j
rig-postgres
postgres
rig::postgres
rig-qdrant
qdrant
rig::qdrant
rig-scylladb
scylladb
rig::scylladb
rig-sqlite
sqlite
rig::sqlite
rig-surrealdb
surrealdb
rig::surrealdb
rig::memory
is available without the memory
feature; it contains the core
conversation memory traits and in-memory backend re-exported from rig-core
.
Enabling features = ["memory"]
adds reusable history-shaping policy types from
the rig-memory
companion crate to the same module.
We also have some other associated crates that have additional functionality you may find helpful when using Rig:
rig-onchain-kit
- theRig Onchain Kit.Intended to make interactions between Solana/EVM and Rig much easier to implement.