銀河鉄道

LangChain のthreshold(しきい値)とは|ベクトル検索における「信用のボーダーライン」設計

サムネイル
[LangChain]thresholdしきい値

「しきい値」とは

「ユーザーの質問」と「資料から得たテキスト(チャンク)」との類似度スコア(cosine類似度)が、設定された数値より高ければOK、それ以下なら無視する。
この基準となる数値が しきい値(threshold)や。

類似度スコア(cosine類似度)とは
  • ユーザーの質問と資料の文章の「意味の近さ」を、cosine類似度(-1〜1)で表した数値やで。
  • 1に近いほど似てて、0に近いほど似てない。

しきい値が高いと?低いと?

設定内容メリットデメリット
高い(例:0.8)厳選モード精度が高くなる該当なしで沈黙することも
低い(例:0.3)ゆるゆるモード関連情報は拾いやすい関係ない情報まで混ざることも

しきい値はどこで使うの?

  • ユーザーの質問に対して、どのチャンク(テキストのかたまり)を参考にして回答を作るか を選ぶとき

  • similarity_search()similarity_search_with_score() などで、どのチャンクを参考にするか選ぶとき。
  • LangChainでこう使う:
docs = vectorstore.similarity_search_with_score(
    query="月の起源は?",
    score_threshold=0.75,
    k=5
)

しきい値の設計とは?

なんで大事なん?

「どこまでを“意味が近い”と見なすか」の設計そのもの。
つまり、“どんな根拠をもとに回答するか”という信頼性の調整ダイヤルやねん。

信頼性を調整する

「どれくらい意味が近かったら、そのチャンクを信用してええか?」
を決める“フィルターの強さ”やねん。

  • 高いしきい値(例:0.8)→ 厳選!関係ありすぎるやつだけ通す
  • 低いしきい値(例:0.3)→ ゆるゆる!ちょっと似てたら通す

なにに影響する?

  • 回答の正確さ
  • 回答の有無
  • 誤情報を拾う危険性

OpenAI との関係

thresholdLangChainの機能。OpenAIではない!

  • OpenAIはベクトルくれるだけ
  • 選ぶ基準はLangChainが担当!
要素提供元役割
OpenAIOpenAI社テキスト → ベクトル化(embedding)だけ
FAISSMeta社ベクトルの類似検索をするエンジン
LangChainLangChain社embedding・検索・しきい値設定をつないでくれるラッパー

OpenAI API(ChatGPTとか)

  • Embedding(埋め込みベクトル)を出してくれるだけ。
  • たとえば text-embedding-ada-002 でベクトルが得られる。
  • 類似度の計算やしきい値の制御はしてくれへん

LangChain

  • ベクトル検索(FAISSとか)で、
    • 類似度を計算(cosine similarity)
    • score_threshold= みたいにしきい値を自分で設定できる。
  • これは similarity_search_with_score(threshold=0.7) とかの形で使う。

まとめ|しきい値ってどこで使うん?

LangChainの検索フェーズで、どこまでを“類似”と見なすかの基準やで!

OpenAIとLangChainのつなぎ方

  1. OpenAI で「テキスト」→「ベクトル」に変換(埋め込み)
  2. LangChain 経由でそのベクトルを FAISS に保存
  3. ユーザーの質問をまたベクトル化して、FAISS で類似ベクトルを検索!

もし OpenAI 単体で使うなら、自分で類似度計算して、しきい値チェックも手動でやらなあかんのや。

まとめ

しきい値は「答えの信用ライン」。

設計者がコントロールする、賢さと柔らかさの境界線やで!

ベクトル検索では「意味が近いかどうか」を数値で表現する。
その数値が「このくらい以上なら使ってええで」というボーダーライン=閾値や。
閾値が高すぎるとスルーされ、低すぎると関係ない情報まで拾ってまう。

つまり、しきい値は「信用できる根拠ラインの設計」そのものや。
設計者の“答えの厳しさ”を決めるスライダーみたいなもんやで。

補足:しきい値とは、文字通り「敷居」のこと

しきい値って、「閾値」って難しい漢字になってるけど、実は「敷居」のこと。

「敷居をまたぐ値」って意味やで。

またいだら“使える”、またげへんかったら“無視”。

著者

author
月うさぎ

編集後記:
この記事の内容がベストではないかもしれません。

記事一覧