語が違う言い換えで聞かれると、語だけの検索は上位3件の適合率が40.0%でした。
意味の検索と混ぜると53.3%です。片方が外しても、もう片方が拾えます。
複数の探し方を組み合わせられます。組み合わせる価値は、聞かれ方のばらつきで決まります。
Chromaでは、探し方を組み合わせられます。公式は似ているかどうかで問い合わせ、複数の探し方を組み合わせると述べています。
組み合わせるとどれだけ効くのか。実際に検索して数えました。
語が違う言い換えで聞いたとき、上位3件に正解が入るか(問い 5件) 問い 語の検索だけ 言い換えを補う 両方を混ぜる ホテル代の限度額 33% 67% 67% 出張手当は日帰りだと 67% 67% 67% 仮払の申請 67% 67% 67% 消耗品の購入 33% 33% 33% レポートの提出期限 0% 33% 33% 上位3件の適合率 語の検索だけ: 40.0% 言い換えを補う: 53.3% 両方を混ぜる: 53.3% 元の語で聞いた場合(比較) 語の検索だけ: 46.7%
語だけの検索は40.0%でした。元の語で聞いた場合の46.7%より6.7ポイント低くなっています。
「レポートの提出期限」は語だけだと0%です。使われている語が違うので、1件も当たりません。
言い換えを補う形と、両方を混ぜる形はどちらも53.3%でした。この5問では差が出ていません。
「消耗品の購入」はどの方式でも33%です。探し方を変えても届かない問いが残ります。
混ぜ方そのものはハイブリッド検索の記事で扱っていて、重みの置き方で結果が動きます。
語だけの検索は、聞かれ方が変わると当たらなくなる。
Query by similarity and combine multiple search strategies.原文Chroma 公式ドキュメント「Introduction」 この内容の有効期限2027-02-18
付帯する情報で絞れます。ただし絞る場所を間違えると、件数か安全のどちらかを失います。
Chromaでは、問い合わせの時点で絞れます。公式は付帯する情報の条件によって、問い合わせの時点で結果を絞ると述べています。
絞る場所を変えると何が起きるのか。実際に返して数えました。
文書 400件・利用者 4人。上位10件を返す 絞る場所 利用者 返した件数 見えてはいけない件数 絞らない 営業 10件 5件 検索の後に絞る 営業 5件 0件 検索の前に絞る 営業 10件 0件 絞らない 経理 10件 6件 検索の後に絞る 経理 4件 0件 検索の前に絞る 経理 10件 0件 絞らない 人事 10件 7件 検索の後に絞る 人事 3件 0件 検索の前に絞る 人事 10件 0件 絞らない 技術 10件 6件 検索の後に絞る 技術 4件 0件 検索の前に絞る 技術 10件 0件
絞らなければ10件返せますが、見えてはいけない文書が延べ24件混ざりました。
検索の後に絞ると漏れは0件になります。ただし返せたのは3件から5件で、4人全員が10件に届きませんでした。
検索の前に絞れば、10件を返して漏れも0件です。3つのうちこれだけが両方を満たします。
後から絞る形は、安全は保てても件数を保てません。上位10件の中に、その人が見てよい文書が少ないためです。
権限を含めた探し方は権限を意識したRAGの記事で扱いました。
Filter results at query time by metadata conditions.原文Chroma 公式ドキュメント「Introduction」 この内容の有効期限2027-02-18
埋め込みを使わない検索も持てます。組み合わせるときは、絞る順番が結果を決めます。
Chromaでは、埋め込みを使わない検索もできます。公式は埋め込みを使わずに、データに対する語と正規の表現による検索ができると述べています。
その検索を絞り込みに使うとき、順番が効きます。実際に探して数えました。
文書 20000件。部署5種・年度7種の条件を持つ 問い 300件。条件に合う文書の中から上位 10件を取りたい やり方 1問の比較 取れた件数 取りこぼし 取りこぼし率 探してから絞る(上位10) 20000件 366件 2634件 87.8% 探してから絞る(上位100) 20000件 1126件 1874件 62.5% 探してから絞る(上位1000) 20000件 3000件 0件 0.0% 絞ってから探す 20571件 3000件 0件 0.0% 条件に合う文書は1問あたり平均 571件。全体の 2.9%
上位10件を取ってから絞ると、87.8%を取りこぼします。条件に合う文書が全体の2.9%しかないためです。
先に絞れば0件です。しかも比較の回数は20,000件と20,571件でほとんど変わりません。
上位を1000件まで広げても0件になります。ただし100倍の件数を取り出して捨てることになります。
条件に合う割合が小さいほど、この差は開きます。先に絞れるかどうかが、設計の分かれ目です。
3つの計測はいずれも手元で書いた模型で、実際のChromaを動かしたものではありません。問いは5件、文書は400件から2万件という小さな規模で、適合率の水準はそのままあてはまりません。言い換えの作り方も手で用意したもので、実際の問い合わせの分布とは違います。権限の割り当ても生成したものです。ここで見せているのは、語だけの検索は聞かれ方が変わると当たらなくなるという点と、絞る場所によって件数と安全のどちらかを失うという点の2つです。
Keyword and regex search over your data without embeddings.原文Chroma 公式ドキュメント「Introduction」 この内容の有効期限2027-02-18
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る