Search & Retrieval12 min read MarianのAsk(RAG)は、ベクトル検索と全文検索を単純に混ぜていません。ACLフィルタ→バイナリ類似度による粗探索→int8ドット積によるリランク→Reciprocal Rank Fusionという4段パイプラインで、権限リークを構造的に防ぎながら複数の検索シグナルを統合します。本記事では各段の実装、RRFの式と定数(k=60、keyword重み0.85)、そしてフラグオフ時のグレースフルデグラデーション設計を解説します。
Search & Retrieval13 min read fp32の768次元埋め込みは1本3KB。コーパスが伸びるとメモリにもインデックスにも載らなくなります。Marianは符号1bit量子化(768次元→96バイト、32分の1)とHamming距離のHNSWインデックスで粗探索し、fp32コサインでリランクする2段階検索をpgvectorだけで実装しました。量子化の式、POPCOUNTテーブル、PostgreSQLのRPC、既存埋め込みからのゼロコストバックフィルまで、実装をそのまま解説します。
Search & Retrieval12 min read チャンク単位のRAGは「このドキュメント群は全体として何を言っているか」という広い質問に弱い。MarianはRAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)方式の要約ツリーを実装し、リーフ(チャンク)から要約ノードを再帰的に積み上げます。本記事では、葉数加重のバイナリ重心、貪欲最近傍クラスタリング(branching=4)、全階層を一括スコアリングするcollapsed-tree検索、そしてmarian_file_tree_nodesテーブルへの永続化を解説します。