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)により、本番DBに負荷をかけず、約2秒の鮮度で分析可能なデータコピーを提供します。
- ペタバイト規模のハイブリッド検索 – ベクトル、全文、および組み合わせ(RRF)検索が組み込まれており、S3オブジェクト、DuckDB HNSW、またはElasticsearch kNNインデックスに対して直接実行でき、すべてSQLから呼び出し可能です。
- AIネイティブランタイム – OpenAI互換エンドポイント、Model Context Protocol (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 サーバー/ゲートウェイ | ストリーミングモデルコンテキスト対話のためのModel Context Protocol (2026-07-28仕様) を実装 | HTTP + SSE |
典型的なワークフロー
- データセットの宣言 – 30以上のサポートソース(Postgres、Snowflake、S3、Kafka、GitHubなど)をリストした
spicepod.yamlを作成します。 - アクセラレーションの選択 – メモリまたはディスク上にマテリアライズするテーブルを指定し、CDC、インデックス作成、クラスタリングなどを設定します。
- バイナリの実行 –
spiced(ランタイム)をサイドカー、スタンドアロンサービス、またはマルチノードクラスターとして起動します。 - アプリからのクエリ – SQLクライアントを使用するか、HTTP/Flightエンドポイントを呼び出します。SQL内にLLM呼び出しを直接埋め込むか、NSQLを介してエージェントにクエリを生成させます。
主な用途
- プロダクトチーム:カスタムパイプラインを構築せずに、最新のビジネスデータを利用したAI拡張機能を構築する場合。
- データエンジニア:ベクトル検索とLLM推論も提供できる、運用負荷の低い統合クエリレイヤーが必要な場合。
- ML Ops / AIエージェント:構造化データとモデル呼び出しの両方に対して単一の信頼できる情報源(Single Source of Truth)を必要とし、「データグラウンディング」されたエージェントを実現する場合。
- 企業:マルチテナント分離、シークレット管理 (Vault, Azure Key Vault)、mTLS、OpenTelemetryによる可観測性が必要な場合。
はじめに
# CLIのインストール (バイナリまたはHomebrew経由)
brew install spiceai/tap/spice
# ローカルのPostgresに接続するシンプルなpodの初期化
spice init --from postgres://user:pass@localhost/db
# ランタイムの起動 (サイドカーとして実行)
spiced start
# HTTP経由でのクエリ
curl http://localhost:8000/v1/sql -d 'SELECT * FROM orders LIMIT 5;'
リポジトリには、ステップバイステップの例を含む Cookbook (https://github.com/spiceai/cookbook) と、AIコーディングエージェントがSpice podを自動設定できるようにする Skills リポジトリも用意されています。
パフォーマンスのハイライト (READMEより)
- TPC-H SF100において、シングルノードのDataFusionより2.9倍高速。
- 同等のクエリ速度で、Sparkより8倍少ないRAM消費。
- Cayenneアクセラレーション:TPC-H SF100でDuckDBより1.5倍高速、TPC-DS SF100でSpice 1.xより26倍高速。
- S3ベクトルでのハイブリッド検索:専用ベクトルDBと比較して最大90%のコスト削減。
- リアルタイムCDCレプリケーション:Spice 1.xの取り込みレートの約170倍。
ライセンス
Apache-2.0 (オープンソース)。リポジトリにはランタイム (spiced) とCLI (spice) が含まれます。商用クラウドおよびエンタープライズ版は、同じコア上に構築されたオプションのアドオンです。
結論 – Spice.aiは、あらゆるデータベース、データレイク、LLMの集合を単一の低レイテンシなクエリ可能サービスとして扱える、フルスタックのオープンソースデータ・AIエンジンです。個別のETLパイプライン、ベクトルストア、モデルホスティングインフラストラクチャの必要性を排除し、データグラウンディングされたアプリケーションやAIエージェントのための強力な基盤となります。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト