HeadlinesBriefing favicon HeadlinesBriefing.com

Manticore Search がベクトル チャンキングを追加

Hacker News •
×

チームの内部ドキュメント(ガイド、ランブック、ポストモーテム)に対する検索を構築しているとします。自動埋め込みを持つテーブルがあります:テキストを挿入すると、Manticore がモデルを実行し、ベクトル列を自動的に埋めます。4,000 語のドキュメントを読み込みます。挿入は成功し、検索も機能します。ただし、モデルの入力ウィンドウは 512 トークンであり、そのドキュメントは約 5,000 トークンあります。モデルは最初の 380 語を読み取り、残りの 3,600 語を捨てました。

Manticore は今、テーブル定義でこれを処理します:CREATE TABLE でベクトル列に chunk_strategy を追加すると、Manticore は各ドキュメントをチャンクに分割し、すべてのチャンクを埋め込み、それらすべてを検索します。5 つの戦略:truncate、mean、fixed、recursive、sentence。ドキュメントは依然として 1 件の検索結果です。チャンクは個別に競合し、Manticore はドキュメントを 1 回返し、knn_dist() が最も近いチャンクへの距離を報告します。k はドキュメント数を数え、チャンク数ではありません。

Manticore マニュアル(189 ページ、約 298k 語)で測定:recall@5 が 55.1% → 83.3%、MRR が 0.44 → 0.70 に向上、RAM 約 2.5 倍、取り込み時間約 4 倍。クエリは決してチャンク化されません。クエリは丸ごと埋め込むのに十分短く、分割されるのは保存済みドキュメントのみです。