0xPlaygrounds/rig

⚙️🦀 Build modular and scalable LLM Applications in Rust

Rig란 무엇인가?

Rig는 대규모 언어 모델(LLM)을 사용하는 애플리케이션을 구축하고 실행하기 위한 Rust 기반 생태계입니다. 두 부분으로 구성됩니다:

  1. rig 라이브러리 – 완성, 임베딩, 오디오/이미지 생성, 벡터 저장소, 도구 계약, 메모리 처리 및 OpenTelemetry 의미론을 위한 공급자 중립 API를 제공하는 crate 세트입니다.
  2. rig 터미널 에이전트 – Bevy 게임 엔진 기반의 명령줄 “코딩 에이전트”입니다. 에이전트는 plugins.toml 파일에 있는插件(工具、命令、UI 面板)进行扩展。

两者都是开源的,发布在 crates.io 上,并针对 Linux/macOS 和 Rust 1.97+。


主要特性(如 README 中所述)

领域 详情
插件架构 所有内容——登录、模型选择、工具、终端 UI——都是 Bevy 插件。您可以在不触及核心的情况下添加、替换或移除插件。
自重建代理 /reload 命令使用任何插件更改重新编译代理,并在同一会话中重启它,如果编译失败则回退到之前的构建。
可脚本化 / 管道友好 rig -p --json 和 rig --json 在标准输出上输出 JSON,允许其他程序通过管道驱动代理。help-agents 命令记录了该协议。
丰富的工具集 内置工具用于读写文件、编辑代码、搜索、运行 shell 命令和远程 SSH 执行。其他工具可以作为插件添加。
模型和向量存储集成 20+ 模型提供商(OpenAI、AWS Bedrock、Gemini 等)和 10+ 向量存储后端(LanceDB、Qdrant、Milvus、SQLite、MongoDB、Neo4j 等)通过单一接口暴露。
代理能力 多轮流式、类型化钩子、工具使用、带压缩的内存窗口、检查点,以及通过 rig-cassette crate 进行重放。
跨平台运行时 核心和代理运行时编译到 wasm32-unknown-unknown,支持基于浏览器的使用。
可观测性 发出 OpenTelemetry GenAI 语义约定,用于追踪和指标。

入门指南

安装终端代理

cargo install rig
rig               # 启动交互式编码代理

登录:/login chatgpt 或设置 API 密钥环境变量(例如 OPENAI_API_KEY)。 选择模型:/model。 一次性提示:rig -p "修复失败的测试"。

在您自己的 Rust 代码中使用该库

# Cargo.toml
[dependencies]
rig = "0.44"
use rig::prelude::*;
use rig::providers::openai::{self, OpenAI};

#[tokio::main]
async fn main() -> Result<(), anyhow::Error> {
    let model = OpenAI::from_env()?.completion(openai::GPT_6_1_SOL);
    let agent = AgentBuilder::new(model)
        .preamble("You are a comedian …")
        .build();
    let resp = agent.prompt("Entertain me!").await?;
    println!("{}", resp.output());
    Ok(())
}

注意:添加 tokio 并启用 macros,rt-multi-thread 特性。


Crate 概览

Crate 用途
rig-core 与提供商无关的数据结构、模型/嵌入契约、工具接口。
rig-agent 构建器、提示、流式、钩子、可序列化的运行日志。
rig-memory 对话窗口、压缩、持久化。
rig-cassette 代理效果的记录/重放、检查点。
rig-tools 常用编码工具(读取、写入、编辑、搜索、shell)。
rig-ecs / rig-harness 用于编码代理的 Bevy ECS 内核和插件框架。
rig-tui / rig-basics 默认终端 UI 和基线插件。
集成 crate(例如 rig-bedrock、rig-lancedb、rig-fastembed 等) 可选功能,引入特定的模型提供商或向量存储后端。

社区与生态系统


谁可能使用这个?

  • 想要一个类型安全、模块化框架来构建 LLM 驱动工具的 Rust 开发者。
  • 构建编码助手、基于聊天的代理或 RAG 管道的团队,需要自定义工具和持久内存。
  • 任何希望尝试多种模型提供商或向量存储而无需切换语言的人。

总结

Rig 是一个真正的、面向生产的 Rust 库和配套终端代理,用于构建 LLM 应用。其插件优先的设计、广泛的提供商/向量存储支持以及内置的可观测性,使其成为喜欢 Rust 并希望深度控制其 AI 代理的开发者的坚实基础。

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트