spiceai/spiceai
Add a real-time analytics node to your operational database. Spice is a portable, accelerated SQL query, search, and LLM-inference engine in Rust for data-grounded AI apps and agents.
解決的問題
Spice 透過消除對複雜數據流水線與膠水代碼的需求,解決了構建數據驅動型 AI 應用與智能體的複雜性。它透過提供一個可以作為本地 sidecar 或分散式集群運行的高性能引擎,解決了查詢大規模數據集的延遲問題,提供毫秒級的延遲數據與 AI 推理存取。
工作原理
Spice 使用集群 sidecar 架構,輕量級執行期在應用程式旁的 localhost 執行,以極低的延遲提供數據與推理。它使用分層延遲模型:本地結果快取、本地工作集,以及針對大型查詢向分散式集群進行的透明委派。該引擎使用 Rust 構建,並利用了 Apache DataFusion、Arrow 與 Iceberg 等基礎架構。它還具有即時 CDC(變更數據擷取)機制,可以在不影響生產負載的情況下,為 PostgreSQL、MySQL 與 MongoDB 等營運資料庫建立沙盒化的、可用於分析的副本。
適用對象
- AI 應用開發人員:構建需要快速、基於數據的檢索與推理之智能體。
- 數據工程師:希望在不使用傳統 ETL 流程的情況下,在營運資料庫上實現即時分析。
- 企業團隊:需要具有內建可觀測性與金鑰管理的安全性、多租戶 AI 執行期。
亮點
- AI 原生執行期:提供與 OpenAI 相容的 API、text-to-SQL (NSQL) 以及集成的向量/文本搜尋原語。
- 混合搜尋:支援使用 Amazon S3 Vectors、Tantivy BM25 與 DuckDB HNSW 進行 PB 級混合搜尋。
- 即時 CDC:以約 2 秒的新鮮度維護資料庫的分析就緒副本,且零生產負載。
- 高性能:具有 Cayenne 數據加速器,與 DuckDB 相比,查詢速度更快且記憶體佔用更低。
- 聯邦數據存取:透過查詢下推功能連接到包括 Snowflake、Databricks、S3 與 Kafka 在內的 30 多個數據源。