Skip to main content

Crate rucora

Crate rucora 

Source
Expand description

§rucora

用 Rust 编写的高性能、类型安全的 LLM 应用开发框架

§特性

  • 极速性能 - Rust 原生,零成本抽象
  • 🔒 类型安全 - 编译时错误检查,运行时更可靠
  • 💰 成本监控 - 内置 Token 计数和成本管理
  • 🧰 丰富工具 - 12+ 内置工具(Shell/File/HTTP/Git/Memory 等)
  • 🔌 灵活集成 - 支持 10+ LLM Provider(OpenAI、Anthropic、Gemini、Ollama 等)
  • 📊 可观测性 - 完整的日志、指标、追踪支持
  • 🧠 Agent 架构 - 思考与执行分离,支持自定义 Agent

§快速开始

§1. 添加依赖

[dependencies]
rucora = "0.1"
tokio = { version = "1", features = ["full"] }
anyhow = "1"

§2. 编写代码

use rucora::provider::OpenAiProvider;
use rucora::agent::DefaultAgent;
use rucora::prelude::Agent;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let provider = OpenAiProvider::new("https://api.openai.com/v1","sk-*******************");
     
    let agent = DefaultAgent::builder()
        .provider(provider)
        .model("gpt-4o-mini")
        .system_prompt("你是有用的助手")
        .build();
     
    let output = agent.run("你好".into()).await?;
    println!("{}", output.text().unwrap_or("无回复"));
     
    Ok(())
}

§4. 运行

cargo run

§核心概念

§Agent(智能体)

Agent 负责思考和决策。它接收用户输入,分析需求,决定是否需要调用工具。

use rucora::agent::DefaultAgent;

let agent = DefaultAgent::builder()
    .provider(provider)
    .model("gpt-4o-mini")
    .system_prompt("你是有用的助手")
    .build();

let output = agent.run("北京天气怎么样?".into()).await?;

§Tool(工具)

工具提供具体能力,如执行命令、读取文件、HTTP 请求等。

use rucora::tools::{ShellTool, FileReadTool};
use rucora::agent::DefaultAgent;

let agent = DefaultAgent::builder()
    .provider(provider)
    .model("gpt-4o-mini")
     .tool(ShellTool::new())
     .tool(FileReadTool::new())
    .build();

Re-exports§

pub use compact::CompressionConfig;
pub use compact::CompressionStrategy;
pub use compact::LayeredCompressor;
pub use rucora_core as core;
pub use rucora_providers as provider;
pub use rucora_tools as tools;
pub use rucora_retrieval as retrieval;
pub use rucora_embed as embed;

Modules§

agent
Agent(智能体)模块
compact
上下文压缩模块
conversation
Conversation(对话历史)管理模块
memory
Memory(记忆)实现模块
middleware
中间件系统
prelude
常用类型和 trait 的快速访问
prompt
Prompt 模板系统
rag
RAG(检索增强生成)管线模块