✨ 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.
VT Code - VT Code is a Rust-based terminal coding agent with semantic code intelligence via Tree-sitter and ast-grep. VT Code uses rig for simplifying LLM calls and implement model picker.
Dria - a decentralised AI network. Currently using Rig as part of their compute node.
Neon - Using Rig for their app.build V2 reboot in Rust.
Listen - A framework aiming to become the go-to framework for AI portfolio management agents. Powers the Listen app.
Are you also using Rig in production? Open an issue to have your name added!
Get Started
cargo add rig-core
Simple example
use rig::{client::CompletionClient, completion::Prompt, providers::openai};
#[tokio::main]
async fn main() {
// Create OpenAI client and model
// This requires the `OPENAI_API_KEY` environment variable to be set.
let openai_client = openai::Client::from_env();
let gpt4 = openai_client.agent("gpt-4").build();
// Prompt the model and print its response
let response = gpt4
.prompt("Who are you?")
.await
.expect("Failed to prompt GPT-4");
println!("GPT-4: {response}");
}
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 each crate’s examples (ie. rig-core/examples) directory. More detailed use cases walkthroughs are regularly published on our Dev.to Blog and added to Rig’s official documentation (docs.rig.rs).
Supported Integrations
Vector stores are available as separate companion-crates:
📑 Docs • 🌐 Website • 🤝 Contribute • ✍🏽 Blogs
✨ If you would like to help spread the word about Rig, please consider starring the repo!
Table of contents
What is Rig?
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 & crate (API Reference) documentations.
Features
Who is using Rig?
Below is a non-exhaustive list of companies and people who are using Rig:
proteinpaint, a genomics visualisation tool.rigfor simplifying LLM calls and implement model picker.Are you also using Rig in production? Open an issue to have your name added!
Get Started
Simple example
Note using
#[tokio::main]requires you enable tokio’smacrosandrt-multi-threadfeatures or justfullto enable all features (cargo add tokio --features macros,rt-multi-thread).You can find more examples each crate’s
examples(ie.rig-core/examples) directory. More detailed use cases walkthroughs are regularly published on our Dev.to Blog and added to Rig’s official documentation (docs.rig.rs).Supported Integrations
Vector stores are available as separate companion-crates:
rig-mongodbrig-lancedbrig-neo4jrig-qdrantrig-sqliterig-surrealdbrig-milvusrig-scylladbrig-s3vectorsrig-helixdbThe following providers are available as separate companion-crates:
rig-bedrockrig-fastembedrig-eternalairig-vertexaiWe also have some other associated crates that have additional functionality you may find helpful when using Rig:
rig-onchain-kit- the Rig Onchain Kit. Intended to make interactions between Solana/EVM and Rig much easier to implement.