Epsillaは、メタデータフィルタリング、ハイブリッド検索、LLM検索連携に対応した、埋め込みベクトルの類似検索向けオープンソースC++ベクトルデータベースです。
philippgille/chromem-go
Chroma風のインターフェースを備え、サードパーティ依存なしで組み込めるGo向けベクトルデータベース。ディスクへの永続化にも対応。
代替できる製品:Pinecone
- スター
- 1,075
- フォーク
- 78
- 未解決の Issue
- 22
- 最終コミット
- 2 か月前
これは何?
chromem-goは、SQLiteのようにGoプログラム内で動作するベクトルデータベースです。別途サーバーをインストールしたり、運用したりする必要はありません。ドキュメントとその埋め込みベクトルを保存でき、OpenAI、Ollama、Cohere、Mistralなどのプロバイダーを使って埋め込みベクトルを生成することも、事前に計算したものを受け取ることもできます。
数百万件のドキュメントを扱う用途ではなく、小〜中規模のワークロードでの検索拡張生成(RAG)やセマンティック検索などを想定しています。検索にはコサイン類似度による総当たり最近傍探索を使い、メタデータや、指定した文字列を含む/含まないドキュメント本文で絞り込めます。データはデフォルトでメモリ上に保存されますが、ファイルへの即時永続化や、バックアップ用のデータベース全体のエクスポート/インポートにも対応しています。
APIはChromaの主要メソッド(add、query、get、コレクションの作成と削除)に準拠しつつ、Goらしい代替手段も提供します。プロジェクトはベータ版で、v1.0.0より前に後方互換性のない変更が導入される可能性があります。
主な機能
- 01外部依存やサーバーなしで、Goアプリケーションに組み込んで実行できます。
- 02OpenAI、Azure OpenAI、Ollama、Cohere、Mistralなどのプロバイダーで埋め込みベクトルを生成でき、事前計算済みのベクトルも受け取れます。
- 03コサイン類似度による総当たり検索に対応し、メタデータやドキュメント本文で絞り込めます。
- 04メモリ上に保存でき、オプションでファイルへ即時永続化できます。
- 05データベース全体をエクスポート/インポートでき、オプションで圧縮や暗号化も利用できます。
ユースケース
- 別のベクトルデータベースをデプロイせずに、GoサービスへRAGベースの質問応答機能を追加する。
- CLIやデスクトップツール内で、小〜中規模のドキュメント群をセマンティック検索する。
- より大規模なデータベースを選定する前に、Goで埋め込みベクトルを使った機能を試作する。
クイックスタート
- 1
go get でライブラリをインストールします
go get github.com/philippgille/chromem-go@latest - 2
chromem-go をインポートしてインメモリ DB とコレクションを作成し、ドキュメントを追加してクエリを実行します(最小限の例を参照)
使う前に知っておきたいこと
- プロジェクトはベータ版のため、v1.0.0 より前に破壊的変更が導入される可能性があります。
- シンプルさと小〜中規模での利用を想定しており、数百万件のドキュメントには適していません。
- デフォルトの埋め込み生成には OpenAI を使用するため、別のプロバイダーを設定しない限り API キーが必要です。
収録されている特集
トピック
よくある質問
- chromem-go とは?
- Chroma風のインターフェースを備え、サードパーティ依存なしで組み込めるGo向けベクトルデータベース。ディスクへの永続化にも対応。 chromem-goは、SQLiteのようにGoプログラム内で動作するベクトルデータベースです。別途サーバーをインストールしたり、運用したりする必要はありません。ドキュメントとその埋め込みベクトルを保存でき、OpenAI、Ollama、Cohere、Mistralなどのプロバイダーを使って埋め込みベクトルを生成することも、事前に計算したものを受け取ることもできます。
- chromem-go は無料で使えますか?ライセンスは?
- chromem-go は MPL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- chromem-go は今もメンテナンスされていますか?
- 半年以内に更新あり。chromem-go の最終コミットは 2026年9月6日 です。
- chromem-go は何に使えますか?
- 別のベクトルデータベースをデプロイせずに、GoサービスへRAGベースの質問応答機能を追加する。 CLIやデスクトップツール内で、小〜中規模のドキュメント群をセマンティック検索する。 より大規模なデータベースを選定する前に、Goで埋め込みベクトルを使った機能を試作する。
- chromem-go のインストール方法は?
- go get でライブラリをインストールします: go get github.com/philippgille/chromem-go@latest chromem-go をインポートしてインメモリ DB とコレクションを作成し、ドキュメントを追加してクエリを実行します(最小限の例を参照)
- chromem-go はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/philippgille/chromem-go
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
JVMアプリケーションに、LLMプロバイダーやベクトルストア向けの統一APIと、ツール呼び出し、エージェント、RAGを提供するJavaライブラリ。
Redis上でベクトル検索、RAG、セマンティックキャッシュ、LLMメモリを構築するためのPythonクライアントライブラリ。
Milvusは、AI検索やRAGアプリケーション向けに、埋め込みを大規模に保存・検索できるオープンソースの分散型ベクトルデータベースです。
オンデマンドで埋め込みを再計算し、ストレージを約97%削減するローカルベクトルインデックス兼RAGツールキット。ノートPC上の個人データを検索できます。
Qdrantは、セマンティック検索やレコメンデーション向けにペイロードフィルタリングを備えた、Rust製のベクトル類似検索エンジン兼ベクトルデータベースです。