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 – 开源数据驱动 AI 引擎

它是什么 Spice.ai (spiceai/spiceai 仓库) 是一个基于 Rust 的运行时,它位于您的应用程序旁边,让您可以使用单一、熟悉的 SQL 风格接口,对任何数据源进行查询、搜索和执行 LLM 推理。它可以将选定的数据表在本地物化(“加速”)以实现亚毫秒级延迟,或者将查询下推至原始来源。所有这些都透过标准 API(HTTP、Arrow Flight、JDBC/ODBC 和与 OpenAI 兼容的 LLM 网关)公开,因此您可以将此引擎视为一个同时知道如何调用大型语言模型的小型数据库。

为什么它很重要

  • 实时分析副本 – 基于 CDC、零 ETL 的 PostgreSQL、MySQL、MongoDB(以及 DynamoDB Streams)复制,为您提供具有约 2 秒新鲜度且不会对生产数据库造成负载的分析就绪副本。
  • PB 级混合搜索 – 向量、全文和组合 (RRF) 搜索是内置的,可以直接在 S3 对象、DuckDB HNSW 或 Elasticsearch kNN 索引上执行,所有这些都可以从 SQL 调用。
  • AI 原生运行时 – 与 OpenAI 兼容的端点、模型上下文协议 (MCP) 服务器/网关,以及文本转 SQL (NSQL) 功能,让代理程序能够自动生成有根据的查询。
  • 无需繁重运维的分布式查询 – 扩展了 Apache Ballista,透过对象存储协调多主动调度器,仅需一个二进制文件或容器即可执行,实现集群级性能。
  • 可插拔加速 – “Cayenne”引擎(建立在 Vortex 列式格式上)可以将加速表保留在 RAM 或磁盘中,并具有二级索引、集群和点查询优化。

核心组件

组件 功能 访问方式
SQL & 搜索 API 标准 SQL、向量/文本搜索、UDTF (vector_search, text_search, rrf, rerank) HTTP, Arrow Flight, Flight SQL, JDBC/ODBC/ADBC
NSQL (文本转 SQL) 将自然语言提示转换为针对联合架构的 SQL HTTP API, REPL, 代理工具调用
LLM 网关 (与 OpenAI 兼容) 将调用路由至 OpenAI、Anthropic、Bedrock、Vertex AI、Databricks 或本地运行的 CUDA/Metal 模型;包含提示缓存 HTTP (OpenAI 风格)
Iceberg Catalog REST 用于查询和 ACID 安全写入 (INSERT INTO) 的统一 Iceberg 目录 REST
MCP 服务器/网关 实现模型上下文协议 (2026-07-28 规范),用于流式模型上下文交互 HTTP + SSE

典型工作流程

  1. 声明数据集 – 编写一个 spicepod.yaml,列出 30 多个支持来源中的任何一个(Postgres、Snowflake、S3、Kafka、GitHub 等)。
  2. 选择加速 – 标记要在内存或磁盘中物化的数据表;配置 CDC、索引、集群等。
  3. 运行二进制文件 – spiced(运行时)可以作为 Sidecar、独立服务或多节点集群启动。
  4. 从您的应用程序查询 – 使用任何 SQL 客户端或调用 HTTP/Flight 端点;直接在 SQL 中嵌入 LLM 调用,或让代理程序透过 NSQL 生成查询。

谁会使用它

  • 产品团队:构建 AI 增强功能,需要最新的业务数据而无需构建自定义流水线。
  • 数据工程师:需要一个低运维、联合查询层,同时也能提供向量搜索和 LLM 推理。
  • ML ops / AI 代理程序:需要结构化数据和模型调用的单一事实来源,从而实现“数据驱动”的代理程序。
  • 企业:需要多租户隔离、秘密管理 (Vault, Azure Key Vault)、mTLS 以及透过 OpenTelemetry 进行的可观测性。

入门

# 安装 CLI (二进制文件或透过 Homebrew)
brew install spiceai/tap/spice
# 初始化一个连接到本地 Postgres 的简单 pod
spice init --from postgres://user:pass@localhost/db
# 启动运行时 (作为 sidecar 运行)
spiced start
# 透过 HTTP 查询
curl http://localhost:8000/v1/sql -d 'SELECT * FROM orders LIMIT 5;'

该仓库还提供了一个 Cookbook (https://github.com/spiceai/cookbook),其中包含逐步示例,以及一个 Skills 仓库,让 AI 编码代理程序可以自动配置 Spice pod。

性能亮点 (如 README 中所述)

  • 在 TPC-H SF100 上比单节点 DataFusion 快 2.9 倍。
  • 在查询速度相当的情况下,RAM 使用量比 Spark 少 8 倍。
  • Cayenne 加速:在 TPC-H SF100 上比 DuckDB 快 1.5 倍,在 TPC-DS SF100 上比 Spice 1.x 快 26 倍。
  • S3 向量上的混合搜索:与专用向量数据库相比,成本降低高达 90%。
  • 实时 CDC 复制速度高达 Spice 1.x 摄取率的约 170 倍。

许可 Apache-2.0 (开源)。仓库包含运行时 (spiced) 和 CLI (spice)。商业云和企业版是基于相同核心的可选附加组件。


总结 – Spice.ai 是一个全栈、开源的数据与 AI 引擎,让您可以将任何数据库、数据湖和 LLM 的集合视为单一、低延迟的可查询服务。它消除了对单独 ETL 流水线、向量存储和模型托管基础设施的需求,使其成为数据驱动应用程序和 AI 代理程序的强大基础。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目