質問分類器を使った最小サンプル
目的
- ユーザー質問を specs / howto / troubleshooting / pricing / other に自動分類
- 分類名は出力変数
class_nameとして得られる(下流で利用) - 使い道は2通り
- A. 分岐なし:1本ルートで “書き分け”
- B. 分岐あり:分類ごとに 処理ルート(KB/モデル/温度など)を切替
質問分類器 Question Classifier
質問分類器はLLMで分類するため、分類する用語、カテゴリが近いものが複数ある場合、早く見つけた分類に分岐する場合がある。
LLMで分類するため、クラス1の文に同じ用語を光電センサ、クラス2に変異センサとある場合、センサの用語で引っかかって分岐を間違う可能性がある。それぞれに分岐できる質問を追記するべきである。
事前に決める分類
-
specs(仕様) /howto(手順) /troubleshooting(障害) /pricing(価格) /other(その他) - 迷ったら
otherに落とす
ノード構成(共通の骨子)
Start
↓
質問分類器(→ class_name)
↓
A) LLM だけ(分岐なし) ─→ End
ーー または ーー
B) IF/ELSE(必要時のみ) ─→ 分岐先(例:RAG→LLM / LLM) ─→ End
質問分類器ノードの設定
クラス(カード)に入れる内容
- トピック名(=分類名):
specs/howto/troubleshooting/pricing/other - 説明(任意):その分類を連想できる短いキーワード
高度な設定 → 指示(貼り付け用)
あなたは問い合わせを次の5分類のいずれか1つに厳密に割り当てます。
分類名(厳守):
- specs : 製品仕様・スペック(例:対応OS、寸法、型式、性能)
- howto : 使い方・操作手順(例:設定方法、ワークフロー手順)
- troubleshooting : トラブル・エラー(例:エラーコード、動作不良、対処)
- pricing : 価格・費用(例:料金、見積、課金、割引)
- other : 上記に当てはまらないもの
ルール:
- 必ず1つだけ選ぶこと
- 曖昧なら "other"
- 入力が短文でも推測しないで最も近いものを選ぶ
- 出力は小文字の分類名のみ(回答本文は不要)
使い方パターン
A) 分岐なし:1本ルートで“書き分け”(最小・わかりやすい)
LLM ノードの System に {{ question_classifier.class_name }} を渡して方針を切替。
System(例)
あなたは問い合わせ対応AIです。分類は {{ question_classifier.class_name }} です。
- specs: 仕様は箇条書きで正確に。推測しない
- howto: 手順を番号付きで。前提→ステップ→確認
- troubleshooting: 症状→原因候補→切り分け→対処の順で。注意喚起も
- pricing: 固定表現で案内。必要なら見積依頼を促す
- other: 追加で訊くべき2問を提案してから簡潔に回答
向いているケース
- すべて同じモデル・同じKBでよい/配線を極力シンプルにしたい。
B) 分岐あり:必要なときだけ IF/ELSE(実務で効果大)
例:troubleshooting のときだけ 知識検索(RAG)→ LLM、それ以外は LLM直行。
IF 条件サンプル
{{ question_classifier.class_name == "troubleshooting" }}
ポイント
- 分類ごとに KB/モデル/温度/定型文など処理自体を切替できる。
- 重い処理を必要時だけ回し、速度/コストを最適化。
IF/ELSE以外の活用方法
-
1本ルートで書き分け(Aパターン):
class_nameを System に渡し、出力方針のみ切替。 -
常時RAG+LLM側で利用可否を制御:毎回検索し、
troubleshootingのときだけ使うようSystemで指示(分岐不要・簡単/ただし毎回コスト増)。 -
検索の絞り込みヒント:メタデータやタグを使って、
specsなら仕様タグを優先する等をプロンプトで指示。 -
ツール選択のヒント:
pricingなら価格API、troubleshootingならログ検索ツールを優先、とSystemで方針提示。
動作確認の入力サンプル(期待分類)
- 「このモデルはWindows 11に対応?」→
specs - 「接続設定の手順を教えて」→
howto - 「エラー632で起動しない」→
troubleshooting - 「年間ライセンスいくら?」→
pricing - 「今日の天気は?」→
other
運用Tips
- まずは “障害だけRAG” の1分岐から始めると効果が出やすい。
- 分岐を増やすのは、KBやモデルを本当に切り替える必要が生じた時に。
- 分類ルールは「高度な設定 → 指示」に集約し、再現性を高める。
- 分岐を使うとログ観測やABテストがやりやすい(枝ごと比較)。
よくある質問
Q. IF/ELSEは必須?
A. いいえ。同じルートで良いならAパターン(分岐なし)でOK。
Q. 分類器の長文ルールはどこに貼る?
A. 各クラスのカードには「名称/説明」を、長文ルールは「高度な設定 → 指示」へ。
Q. 分岐条件は複数作れる?
A. 作れます。AND/OR も可。
以上。
