| Crates.io | rig-core |
| lib.rs | rig-core |
| version | 0.20.0 |
| created_at | 2024-05-29 20:20:19.887346+00 |
| updated_at | 2025-09-15 21:49:44.271951+00 |
| description | An opinionated library for building LLM powered applications. |
| homepage | |
| repository | https://github.com/0xPlaygrounds/rig |
| max_upload_size | |
| id | 1256017 |
| size | 3,737,603 |
Rig is a Rust library for building LLM-powered applications that focuses on ergonomics and modularity.
More information about this crate can be found in the crate documentation.
cargo add rig-core
use rig::{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.model("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).
Rig supports the following LLM providers out of the box:
Vector stores are available as separate companion-crates:
rig-mongodbrig-lancedbrig-neo4jrig-qdrantrig-sqliterig-surrealdbrig-milvusrig-scylladbrig-s3vectorsThe following providers are available as separate companion-crates:
rig-fastembedrig-eternalai