0xPlaygrounds / rig
- четверг, 12 декабря 2024 г. в 00:00:02
⚙️🦀 Build portable, modular & lightweight Fullstack Agents
✨ 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.
Rig is a Rust library for building scalable, modular, and ergonomic LLM-powered applications.
More information about this crate can be found in the crate documentation.
Help us improve Rig by contributing to our Feedback form.
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.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. src/examples
) directory. More detailed use cases walkthroughs are regularly published on our Dev.to Blog.
Model Providers | Vector Stores |
---|---|
Vector stores are available as separate companion-crates:
rig-mongodb
rig-lancedb
rig-neo4j
rig-qdrant