Go to file
Joshua Mo bc11decc0b
feat: impl From<mcp_core::types::Tool> for ToolDefinition (#385)
* feat: impl From<mcp_core::types::Tool> for ToolDefinition

* feat(core): impl &mcp_core::types::Tool for ToolDefinition
2025-04-09 23:07:55 +01:00
.github fix(providers): provider wasm support (#245) 2025-01-27 14:36:51 -05:00
img docs: add coloured logos for integrations 2024-11-05 18:21:57 +01:00
rig-bedrock feat: AWS Bedrock provider (#318) 2025-04-07 08:21:05 -07:00
rig-core feat: impl From<mcp_core::types::Tool> for ToolDefinition (#385) 2025-04-09 23:07:55 +01:00
rig-eternalai chore: release (#356) 2025-03-31 17:27:41 -04:00
rig-fastembed chore: release (#356) 2025-03-31 17:27:41 -04:00
rig-lancedb refactor(lancedb): docs, make examples idempotent (#387) 2025-04-09 22:22:40 +01:00
rig-mongodb chore: release (#356) 2025-03-31 17:27:41 -04:00
rig-neo4j Fix Clippy warnings for doc indentation and Error::other usage (#364) 2025-04-03 12:57:54 +01:00
rig-postgres chore: release (#356) 2025-03-31 17:27:41 -04:00
rig-qdrant Fix Clippy warnings for doc indentation and Error::other usage (#364) 2025-04-03 12:57:54 +01:00
rig-sqlite chore: release (#356) 2025-03-31 17:27:41 -04:00
rig-surrealdb chore: release (#356) 2025-03-31 17:27:41 -04:00
.gitignore feat: Feature flag for CF worker compatibility (#176) (#175) 2025-01-13 10:12:39 -05:00
.pre-commit-config.yaml chore: add pre-commit & update gitignore 2024-10-31 19:01:49 +01:00
CONTRIBUTING.md fix: contributing.md link 2025-03-28 16:53:32 +00:00
Cargo.lock feat: AWS Bedrock provider (#318) 2025-04-07 08:21:05 -07:00
Cargo.toml feat: AWS Bedrock provider (#318) 2025-04-07 08:21:05 -07:00
LICENSE misc: Add license 2024-05-29 16:10:15 -04:00
README.md feat: surrealdb integration (#280) 2025-02-24 22:24:55 +00:00

README.md

Rig logo
     
  stars - rig
   

 

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

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.

Help us improve Rig by contributing to our Feedback form.

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

Get Started

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

Model Providers Vector Stores

ChatGPT logo Claude Anthropic logo
Cohere logo Gemini logo
xAI logo perplexity logo

Mongo DB logo Neo4j logo

Lance DB logo

Vector stores are available as separate companion-crates:

The following providers are available as separate companion-crates:



Build by Playgrounds