Integrations
Rig connects to the outside world through model providers (LLM and embedding
APIs), vector stores (databases for semantic search and RAG), and a few other
integrations such as MCP tools and recording. Lightweight integrations ship in
rig-core; anything with heavy dependencies lives in a companion crate that the
rig facade exposes as a module behind a cargo feature of the same name:
[dependencies]rig = { version = "0.44.0", features = ["lancedb", "bedrock"] }You only compile the integrations you enable.
Model providers
Section titled “Model providers”Built-in providers are thin clients over each vendor’s HTTP API. They ship with
rig-core and need no feature:
use rig::prelude::*;use rig::providers::openai::{self, OpenAI};
let agent = AgentBuilder::new(OpenAI::from_env()?.completion(openai::GPT_5_5)) .preamble("You are a helpful assistant.") .build();| Kind | Providers |
|---|---|
| Own API format | OpenAI, Anthropic, Google Gemini, Cohere, Ollama, Voyage AI (embeddings and rerank), GitHub Copilot |
| OpenAI-compatible | Azure OpenAI, DeepSeek, Doubleword, Groq, Hugging Face, Hyperbolic, llama.cpp, MiniMax, Mira, Mistral, Moonshot, OpenRouter, Perplexity, Together AI, Venice, xAI, Xiaomi MiMo, Z.AI, ChatGPT (subscription sign-in) |
Companion crates add providers that need an SDK or run locally:
| Provider | Feature | Module |
|---|---|---|
| Amazon Bedrock | bedrock | rig::bedrock |
| Google Vertex AI | vertexai | rig::vertexai |
| Google Gemini over gRPC | gemini-grpc | rig::gemini_grpc |
| Candle (local CPU inference: Llama, SmolLM2, Qwen3) | candle | rig::candle |
| FastEmbed (local embeddings) | fastembed | rig::fastembed |
See Providers & Clients for constructing clients, and Model Providers for per-vendor pages.
Vector stores
Section titled “Vector stores”Every store implements the same traits from rig-core: VectorStoreIndex for
similarity search and InsertDocuments for writes, so RAG pipelines and
dynamic-context agents work the same whichever database backs them. An in-memory
store (InMemoryVectorStore) ships with rig-core for prototyping and tests.
| Store | Feature | Module |
|---|---|---|
| HelixDB | helixdb | rig::helixdb |
| LanceDB | lancedb | rig::lancedb |
| Milvus | milvus | rig::milvus |
| MongoDB Atlas | mongodb | rig::mongodb |
| Neo4j | neo4j | rig::neo4j |
| PostgreSQL (pgvector) | postgres | rig::postgres |
| Qdrant | qdrant | rig::qdrant |
| Amazon S3 Vectors | s3vectors | rig::s3vectors |
| ScyllaDB | scylladb | rig::scylladb |
| SQLite (sqlite-vec) | sqlite | rig::sqlite |
| SurrealDB | surrealdb | rig::surrealdb |
| Cloudflare Vectorize | vectorize | rig::vectorize |
See Vector Stores for the shared concepts and per-store pages.
Other integrations
Section titled “Other integrations”| Integration | Feature | Module |
|---|---|---|
| Model Context Protocol tools | rmcp | rig::tool::rmcp |
| Conversation-memory policies (sliding window, token budget, compaction) | memory | rig::memory |
| Recording and replay of runs | cassette | rig::cassette |
