Repolode
aurelio-labs

aurelio-labs/semantic-router

意味的類似度または小規模な判定モデルでリクエストを振り分け、信頼度を校正して返す、LLMやエージェント向けの判定レイヤー。

スター
3,962
フォーク
382
未解決の Issue
138
最終コミット
9 時間前

これは何?

Semantic Routerは、LLMによる生成が完了するのを待たずに、ユーザーのリクエストがどのルートに該当するかを判定します。各ルートは発話例で定義し、受け取ったクエリをベクトル化してベクトル空間で比較するため、判定は数ミリ秒で完了します。また、DecisionRouterを使うと、小規模な判定モデル(Jev、Laya、Von)に1回問い合わせるだけで、該当するルートを選択できます。

fit()で信頼度スコアを確率に校正でき、信頼度のしきい値を設定すると、該当するルートがない場合にルーターはNoneを返します。ルーターはChainで組み合わせることができ、確信が持てない場合に低速なルーターへフォールバックできます。また、Mergeを使うと複数のルーターの結果を平均できます。疎エンコーダーやPinecone、Qdrant、Postgresのインデックスを使ったハイブリッド検索、画像を扱うマルチモーダルルートにも対応しており、OpenAI、Cohere、Hugging Faceのエンコーダーに加え、完全なローカル実行向けのFastEmbedも利用できます。

主な機能

  • 01発話例とベクトル埋め込みを使い、意味的類似度に基づいてリクエストを振り分ける。
  • 02小規模な判定モデルを利用し、1回の呼び出しでルートを選択するDecisionRouterを提供する。
  • 03fit()と信頼度のしきい値を使って、信頼度スコアを確率に校正する。
  • 04フォールバック用のChainや、結果を平均するMergeでルーターを組み合わせる。
  • 05ハイブリッド検索、複数のベクトルストア、画像を扱うマルチモーダルルートに対応する。
  • 06APIキーなしでFastEmbedを使い、完全にローカルで実行できる。

ユースケース

  • LLMを呼び出す前に、チャットボットが呼び出すツールやエージェントを決定する。
  • カスタマーサポートアシスタントで、話題から外れたクエリや機微なクエリをフィルタリングする。
  • ホットラインやトリアージのワークフロー向けに、低レイテンシーの意図分類を構築する。
  • 話題に応じて、ユーザーのメッセージを異なるプロンプトやパイプラインに振り分ける。

クイックスタート

  1. 1

    ローカルのFastEmbedエンコーダーを使ってSemantic Routerをインストールする

    pip install -qU "semantic-router[fastembed]"
  2. 2

    ルートを定義し、FastEmbedエンコーダーを作成してIndexedRouterを構築し、クエリに対して呼び出す

使う前に知っておきたいこと

  • ルーティングの品質は、作成する発話例と、ラベル付きデータを使ったしきい値の調整に左右されます。
  • 一部の機能(OpenAI、Cohere、Pineconeなど)にはAPIキーまたは外部サービスが必要です。

トピック

よくある質問

semantic-router とは?
意味的類似度または小規模な判定モデルでリクエストを振り分け、信頼度を校正して返す、LLMやエージェント向けの判定レイヤー。 Semantic Routerは、LLMによる生成が完了するのを待たずに、ユーザーのリクエストがどのルートに該当するかを判定します。各ルートは発話例で定義し、受け取ったクエリをベクトル化してベクトル空間で比較するため、判定は数ミリ秒で完了します。また、DecisionRouterを使うと、小規模な判定モデル(Jev、Laya、Von)に1回問い合わせるだけで、該当するルートを選択できます。
semantic-router は無料で使えますか?ライセンスは?
semantic-router は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
semantic-router は今もメンテナンスされていますか?
活発にメンテナンス中。semantic-router の最終コミットは 2026年10月21日 です。
semantic-router は何に使えますか?
LLMを呼び出す前に、チャットボットが呼び出すツールやエージェントを決定する。 カスタマーサポートアシスタントで、話題から外れたクエリや機微なクエリをフィルタリングする。 ホットラインやトリアージのワークフロー向けに、低レイテンシーの意図分類を構築する。 話題に応じて、ユーザーのメッセージを異なるプロンプトやパイプラインに振り分ける。
semantic-router のインストール方法は?
ローカルのFastEmbedエンコーダーを使ってSemantic Routerをインストールする: pip install -qU "semantic-router[fastembed]" ルートを定義し、FastEmbedエンコーダーを作成してIndexedRouterを構築し、クエリに対して呼び出す
semantic-router はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/aurelio-labs/semantic-router

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト