ハイブリッド検索とRRFにより、純粋なベクトル検索を超えるAIメモリシステムが向上します。

ローカルファーストでセルフホスト型のセットアップとして、PostgreSQLとpgvectorを使用したAIアシスタント向けのオープンソースメモリシステムが開発されました。このシステムは、AIアシスタントがセッションを超えて記憶する情報を保存し、検索可能にします。
なぜ純粋なベクトル検索では不十分だったのか
開発者は当初、純粋なベクトル検索から始めました:クエリを埋め込み、コサイン類似度を使用し、上位k件の結果を返します。これは曖昧な質問には機能しましたが、完全一致の検索では一貫して失敗しました。例えば、「RRF merging」を検索すると、文字通り「RRF merging」と記載されている文書ではなく、数か月前の「ランクリストの結合」に関するチャンクが返されてしまいました。
ハイブリッド検索ソリューション
解決策には、2つ目の検索手段の追加が含まれました:PostgreSQLのtsvectorとGINインデックスを使用した全文検索です。このキーワードマッチングは、ベクトル検索が見逃すものを捕捉します。しかし、これにより統合が必要な2つのランクリストが作成されました。
相互順位融合(RRF)
2つのランクリストを統合するには、相互順位融合が答えであることが証明されました。式は単純です:スコア = 1 / (k + 順位)、ここでk=60(標準値)。両方のリストに出現する結果は、両方のスコアが加算されます。このアプローチでは、コサイン類似度とts_rankの間の重み調整やスコア正規化は必要ありません—順位のみを使用します。
クエリ拡張技術
検索前に、システムはクエリを埋め込みモデルのWordPieceトークナイザーで実行し、主要な用語(技術的またはドメイン用語である可能性が高いマルチサブワードトークン)を抽出します。これにより最大3つのクエリバリエーションが生成され、すべてを埋め込み、並行して検索します。これにより、1つの表現では見逃される可能性のある結果を捕捉します。
技術スタック
- PostgreSQL 16 + pgvector(ベクトル用HNSWインデックス、全文検索用GINインデックス)
- 埋め込み用all-MiniLM-L6-v2(384次元、CPUで実行)
- 非同期psycopg 3を使用したPython
- 3つの取り込みアダプター:マークダウン、プレーンテキスト、Claude会話JSON
システム全体はローカルで実行され、埋め込み用のAPI呼び出しやクラウド依存性はありません。コードは最近出荷され、開発者は完全なアプローチについて詳細なブログ記事を書いています。
📖 Read the full source: r/LocalLLaMA
👀 See Also

OpenAlly:電話制御機能付きAndroid用ローカルAIアシスタント
OpenAllyは、組み込みNode.jsプロセスを介してスマートフォン上でローカルにAIアシスタントを実行するAndroidアプリで、51の組み込みスキルとAsterコンパニオンによる電話制御機能を備えています。19以上のメッセージングプラットフォームに接続し、独自のAPIキーを使用して18のモデルプロバイダーをサポートします。

CKサーチ:MCPサーチバー統合を備えたローカルセマンティック検索ツール
CK Searchは、組み込みMCPサーバーを備えたローカルセマンティック検索ツールで、クラウド依存なしで任意のテキストディレクトリをインデックス化します。このツールはAIエージェントがMCP経由で利用でき、ソースではセットアップ、長所、grepとの比較による制限事項をカバーした実践的なチュートリアルを提供しています。

プロジェクトヘッドルーム:NetflixエンジニアのオープンソースツールがAIトークンコストを90%削減
NetflixのシニアエンジニアTejas Chopra氏が開発したオープンソースのプロキシ「Project Headroom」は、AIへのコンテキスト入力を最大90%圧縮。2026年1月以降、ユーザー全体で推定70万ドルを節約。ローカルでポート8787で動作し、あらゆるLLM CLIをラップする。

デザインスタジオ環境を模倣するClaudeスキル
デザイナーが共有する2つのクロードスキル:1つはチームメイトとデザインメソッドを備えたスタジオをシミュレーションし、もう1つは創造性のために「厳格な遊び」を追加する。