一文定義
軽量・組み込み可能なオープンソースのベクターデータベース。ローカル開発やプロトタイプに最適で、LangChain・LlamaIndexと容易に統合できる。
詳細解説
Chromaとは、AI/LLMアプリケーションのための軽量でオープンソースのベクターデータベースです。「開発者体験(DX)の優先」を設計哲学として、インストールから動作確認まで数分で完了するシンプルさが特徴です。Python・TypeScript SDKを提供し、ローカルのインメモリ・永続化ファイル・クライアントサーバーの3モードで柔軟に動作します。Apache 2.0ライセンスのオープンソースソフトウェアとして公開されています。
動作モードとして、(1)インメモリモード:`chromadb.Client()` で起動するトランジェント(一時的)なインメモリDB。テスト・プロトタイプ・Jupyter Notebookでの実験に最適、(2)永続化モード:`chromadb.PersistentClient(path="./chroma_db")` でローカルファイルシステムにデータを永続保存。SQLiteとインメモリHNSWインデックスを使用、(3)HTTP Serverモード:`chroma run` コマンドでREST APIサーバーを起動し、複数クライアントから接続。本番環境やDockerコンテナでの利用に対応があります。
主要機能として、(1)Collections:データを論理的にグループ化するコンテナ単位。各コレクションに埋め込み関数・距離メトリクスを設定、(2)埋め込み関数の統合:OpenAI・Cohere・HuggingFace・Google等の埋め込みAPIを `embedding_functions` として直接指定し、テキストの自動ベクトル化が可能、(3)メタデータフィルタリング:`where` 句でメタデータ条件付きの検索を実施、(4)Documents付き保存:ベクターと元テキスト・メタデータをセットで保存し、検索結果から元文書を即座に取得できる設計があります。
LangChain・LlamaIndex統合として、両フレームワークでChromaは標準的なベクターストアとして一行で組み込め、RAGパイプラインのベクターDB層として最も手軽に利用できる選択肢として人気があります。本番スケール・高可用性・分散構成が必要になったタイミングで、PineconeやWeaviateへのマイグレーションを検討するケースが多いです。
参考情報・出典
- ▸Chroma Official Documentation— Chroma(参照日: 2026-02-26)
- ▸Chroma Official Website— Chroma(参照日: 2026-02-26)