0xPlaygrounds/rig
⚙️🦀 Build modular and scalable LLM Applications in Rust
解決的問題
Rig 是一個旨在簡化可擴展且模組化 LLM 驅動型應用程式開發的 Rust 函式庫。它減少了整合各種 AI 模型和向量資料庫所需的樣板程式碼,為開發者提供統一的介面,使其無需受限於特定的提供商即可構建代理工作流。
工作原理
Rig 將其架構分為兩個主要組件:rig-core 為訊息、補全模型和向量資料庫提供與提供商無關的契約;rig-agent 處理代理編排,包括提示詞、串流傳輸和狀態管理。這種模組化方法允許開發者使用根 rig Facade 來存取核心抽象和高階代理構建器。
適用對象
需要跨多個模型提供商和向量資料庫使用一致 API 的 Rust 開發者,用於構建 AI 代理、聊天機器人和基於 RAG 的應用程式。
亮點
- 統一介面:透過單一 API 存取 20 多個模型提供商和 10 多個向量資料庫整合。
- 代理工作流:支援多輪串流傳輸、提示詞以及用於代理運行的可序列化狀態機。
- 廣泛的功能支援:處理 LLM 補全、嵌入、轉錄、音訊生成和圖像生成。
- WASM 相容性:可移植的核心和經典執行期與 WebAssembly 完全相容。
- 標準化的可觀測性:完全相容於 OpenTelemetry 的 GenAI Semantic Convention。