rig-core 0.18.0

An opinionated library for building LLM powered applications.
docs.rs failed to build rig-core-0.18.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: rig-core-0.19.0

Rig

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.

Table of contents

High-level features

  • Full support for LLM completion and embedding workflows
  • Simple but powerful common abstractions over LLM providers (e.g. OpenAI, Cohere) and vector stores (e.g. MongoDB, SQLite, in-memory)
  • Integrate LLMs in your app with minimal boilerplate

Installation

cargo add rig-core

Simple example:

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).

Integrations

Rig supports the following LLM providers out of the box:

  • Anthropic
  • Azure
  • Cohere
  • Deepseek
  • Galadriel
  • Gemini
  • Groq
  • Huggingface
  • Hyperbolic
  • Mira
  • Mistral
  • Moonshot
  • Ollama
  • Openai
  • OpenRouter
  • Perplexity
  • Together
  • Voyage AI
  • xAI

Vector stores are available as separate companion-crates:

The following providers are available as separate companion-crates: