三池ジュニオール / ノート

AI が社内の文書から答える仕組み

言語モデルは、あなたの会社の文書を読んでいません。文書をもとに答えるときは、誰かが質問したその場で、数個の断片を渡されます。答えの質は、その断片の質を超えられません。

前もって、一度だけ 誰かが質問するたびに 分ける 数値にして保存 返す 渡す 書く 検索 質問そのもの 文書 たとえば 2,000 件 断片 40,000 個 索引 40,000 個すべて 数個の断片 いちばん近い 5 個 モデルが文書について見るすべて モデル 言語モデル 答え 出典つき 質問 普通の言葉で 1 2 3 前もって、一度だけ 誰かが質問するたびに 分ける 数値にして保存 返す 渡す 書く 検索 質問そのもの 文書 たとえば 2,000 件 断片 40,000 個 索引 40,000 個すべて 数個の断片 いちばん近い 5 個 モデルが見るのは これですべて モデル 言語モデル 答え 出典つき 質問 普通の言葉で 1 2 3
モデルは、文書の保管庫を読むことはありません。質問のたびに、検索が数個の断片を選び、モデルはそこから答えを書きます。これを検索拡張生成(RAG)と呼びます。

図の読み方

最初の部分は、誰かが質問する前に一度だけ行います。たとえば、会社に 2,000 件の文書があるとします。それぞれを 1 ページ以下の断片に切ると、約 40,000 個になります。断片はどれも、その内容を表す数値の並びに変えます。似た内容の断片は、似た数値になります。その数値を索引に入れます。

残りは、誰かが質問するたびに行います。質問も同じやり方で数値に変え、索引は数値がいちばん近い 5 個ほどの断片を返します。モデルはその断片と質問を受け取り、答えを書きます。

緑の枠が要点です。40,000 個の断片のうち、モデルが見るのは 5 個です。そこにないものは、モデルにとって存在しません。

間違いが起きる場所

  • 1分け方表や手順の途中で切られた断片は、意味を失います。そうなると、検索は答えの半分しか見つけられません。
  • 2検索正しい断片はあるのに、返ってくる数個に入りません。型番やコードがよくある原因です。意味による検索は、1 桁だけ違う二つのコードを、ほぼ同じものとして扱うからです。
  • 3書き方断片に答えが含まれていないのに、モデルがそれでも答えを書いてしまいます。

そこから分かること

答えが間違っていたら、まず断片を見ます。正しい断片がそこになければ、直すのは分け方か検索で、モデルを良いものに替えても解決しません。正しい断片があったのにモデルが無視したのなら、直すのは指示かモデルです。

だから、こうした仕組みの仕事は、ほとんどが文書と検索の仕事になります。