基于 Rust 实现简单、快速、轻量级的 AI Agent 框架 Rig

这几天 AI Agent 生态进入爆发期,有个叫 Rig 非常抢眼,它是基于 Rust 构建的 AI 应用开发专业框架。 与它类似还有个叫 ELIZA  框架,本文主要介绍 Rig。 什么是 Rig?Rig(ARC) 是一个基于 Rust 优势面向 LLM 工作流引擎的 AI 系统构建框架,目的是要解决更底层的性能优化问题。

这几天 AI Agent 生态进入爆发期,有个叫 Rig 非常抢眼,它是基于 Rust 构建的 AI 应用开发专业框架。与它类似还有个叫 ELIZA  框架,本文主要介绍 Rig。

基于 Rust 实现简单、快速、轻量级的 AI Agent 框架 Rig

什么是 Rig?

Rig(ARC) 是一个基于 Rust 优势面向 LLM 工作流引擎的 AI 系统构建框架,目的是要解决更底层的性能优化问题。值得关注的一个框架。

Rig 进行 AI 开发优势

选择 Rig 可以更高效地开发,拥有着类型安全的 API ,可以减少运行是报错,异步优先设计,让你的资源得到最佳利用率。它与 Rust 生态如 Tokio、Serde 等无缝集成。

Rig 核心功能

  • 统一 LLM 接口:支持跨不同 LLM 提供商的一致 API ,简化集成和减少供应商的锁定。
  • Rust 驱动的卓越性能:基于 Rust 优势,零成本抽象、内存安全、高性能的 LLM 操作。
  • 高级 AI 工作流抽象:实施复杂的 AI system,比如 RAG 和多 Agent 设置,预构建的模块化组件。
  • 类型安全的 LLM 交互:基于 Rust 强类型系统来保障 LLM 交互的安全。
  • 无缝对接 Vector Store 集成:内置对裁体存储的支持,实现高效的相似性 AI 应用程序的搜索和检索功能。
  • 灵活的嵌入支持:提供易于使用的 API,用于处理嵌入,这对语义至关重要 搜索和基于内容的推荐。

Rig 野心是以 Rust 驱动性的性能、利用 Rust 优势零成本抽象和内存安全、高性能、低延迟的 LLM 操作。当然要达到企业级商用化的标准框架,现在阶段只是 AI Agent 生态的爆发期,至于落地商业化,需要加速迈向市场去验证与反馈的。

如何快速上手 Rig

下面是官网几个 Demo 。

basic_llm.rs

复制
use rig::providers::openai;
use rig::completion::Prompt;

#[tokio::main]
async fn main() -> Result<()> {
    let client = openai::Client::from_env();
    let gpt4 = client.agent("gpt-4").build();
    
    let response = gpt4.prompt("Translate 'Hello, world!' to French.").await?;
    println!("Translation: {}", response);
    Ok(())
}

rag_system.rs

复制
use rig::providers::openai;
use rig::vector_store::in_memory_store::InMemoryVectorStore;
use rig::completion::Prompt;

#[tokio::main]
asyncfn main() -> Result<()> {
    let client = openai::Client::from_env();
    let embed_model = client.embedding_model("text-embedding-ada-002");
    letmut store = InMemoryVectorStore::default();
    let rag_agent = client.context_rag_agent("gpt-4")
        .dynamic_context(1, store.index(embed_model))
        .build();
    
    let response = rag_agent.prompt("What is Rig?").await?;
    println!("RAG Agent: {}", response);
    Ok(())
}

extractor.rs

复制
use rig::providers::openai;
use schemars::JsonSchema;
use serde::{Deserialize, Serialize};

#[derive(Debug, Deserialize, JsonSchema, Serialize)]
struct MovieReview {
    sentiment: String,
    rating: f32,
}

#[tokio::main]
asyncfn main() -> Result<()> {
    let client = openai::Client::from_env();
    let extractor = client.extractor::<MovieReview>("gpt-4").build();
    let review = extractor.extract("I loved this movie! It's a solid 9/10.").await?;
    println!("Extracted: {:?}", review);
    Ok(())
}

高级功能

  • 完全支持 LLM 完成和嵌入工作流程
  • 对 LLM 提供程序(例如 OpenAI、Cohere)和向量存储(例如 MongoDB、内存中)的简单但强大的通用抽象
  • 以最少的样板将 LLM 集成到您的应用程序中

基于 Rust 实现简单、快速、轻量级的 AI Agent 框架 Rig

Rust 在AI时代会成为主流吗?

最后,Rust 作为小众语言,但拥有着别人没有天生优势,内存安全、零成本抽象、快速可靠,开发社区非常活跃。

在 AI 大模型时代,Rust 是否能够运来新的突破,是否会大量采用于AI 大模型底层的开发,虽然前有C/C++,后有 Zig 这样性能牛逼的语言。

最近,也开始看到了 AI Agent 和 AI Infra 有小规模爆发了,想要让 AI Agent 繁荣发展,自然离不开 AI Infra 高性能的力量。

基于 Rust 实现简单、快速、轻量级的 AI Agent 框架 Rig

AI应用爆发式的增长,在模型训练和推理必须得到大幅提升,算力成本和使用效率这两个指标也变得至关重要了。否则会直接影响模型能力升级和AI应用大规模落地的速度。

尽管已有计算模型和框架比如 TensorFlow 和 PyTorch 也取得了非常好的成果。但在性能优化和资源管理方面存在很大问题,特别在大规模并行计算和高性能计算环境中,还是显得有些力不从心的。

大佬看了很多问题,于是逐渐采用 Rust 重构一些新框架,如Candle、Burn、DFDX、tch-rs、Linfa、ndarray、Polars等框架的出现。以及 OpenAI 、Google、微软等一些核心需要高性能,也换成了 Rust 来重构。

所以,未来打造高性能的 AI Infra 方向上,Rust 会有很大优势。

参考资料:

  • 官网:https://rig.rs
  • https://docs.rs/rig-core/latest/rig
  • Github:https://github.com/0xPlaygrounds/rig

相关资讯

谷歌推出 DataGemma:基于可信数据源提高 AI 准确度,减少幻觉

科技媒体 maginative 昨日(9 月 12 日)发布博文,报道谷歌公司基于谷歌数据共享(Data Commons)中的真实世界统计数据,推出了开放权重 Gemma 模型的新版本  DataGemma。语言模型当前面临的一大难题就是幻觉(Hallucinations),尤其是大语言模型(LLMs)在处理数值或统计数据时,这一问题变得尤为棘手,因此精确性至关重要。谷歌的 Data Commons 是一个存储库,汇集了来自联合国和疾病控制与预防中心等可信组织收集的超过 2400 亿个数据点。通过利用这一庞大的统计

AWS自动推理负责人:与其解决AI幻觉,不如证明是否正确;Rust借用检查器实际上就是一个推理引擎

编辑 |  言征出品 | 51CTO技术栈(微信号:blog51cto)AI 的一个显着缺陷是它会不自知地“产生幻觉”,编造没有真实数据依据的合理答案。 AWS 正试图通过解决这个问题,一个不错的路径是:引入 Amazon Bedrock 自动推理检查。 Amazon Bedrock 是一项面向生成式 AI 应用程序的托管服务。

白宫发文,呼吁开发者放弃C、C++:Rust被「钦点」内存安全

近年来,C、C 编程语言成了美国官方的「眼中钉」,而内存安全的 Rust 等语言摇身一变成了「新宠」。近日,在一份 19 页的报告《回归基础构件:通往安全软件之路》中,白宫国家网络主任办公室(ONCD)呼吁开发者使用「内存安全的编程语言」,比如 Rust 语言。报告指出,从一开始就选择内存安全的编程语言,是以安全设计方式开发软件的重要途径。此外,ONCD 表示,报告中的建议是与包括科技公司、学术界和其他机构合作制定的,并收集了包括惠普、埃森哲和 Palantir 在内等多家科技公司支持报告的意见。报告地址:,这