Skip to main content
ナレッジリトリーバーコンポーネントにより、プラグインはLangBotに外部ナレッジベース検索機能を提供できます。ユーザーがLangBotで外部ナレッジベースを作成する際、プラグインが提供するナレッジリトリーバーを選択してナレッジを検索できます。

ナレッジリトリーバーコンポーネントの追加

1つのプラグインには任意の数のナレッジリトリーバーを追加できます。プラグインディレクトリでコマンドlbp comp KnowledgeRetrieverを実行し、プロンプトに従ってナレッジリトリーバーの設定を入力します。
これにより、components/knowledge_retriever/ディレクトリにfastgpt.yamlfastgpt.pyファイルが生成されます。.yamlファイルはナレッジリトリーバーの基本情報と設定パラメータを定義し、.pyファイルはこのリトリーバーのハンドラです:

マニフェストファイル: ナレッジリトリーバー

設定項目フォーマットのリファレンスについては、プラグインマニフェスト設定フォーマットを参照してください。

プラグインハンドラ

以下のコードがデフォルトで生成されます(components/knowledge_retriever/<retriever_name>.py)。FastGPTクラスのretrieveメソッドでナレッジ検索ロジックを実装する必要があります。完全なコードはlangbot-plugin-demoで見つけることができます。

検索コンテキスト

RetrievalContextにはこの検索のコンテキスト情報が含まれます:

検索結果

検索結果はRetrievalResultEntryオブジェクトのリストに変換する必要があり、各オブジェクトは検索されたナレッジチャンクを表します:

設定パラメータの取得

self.config.get(パラメータ名, デフォルト値)を使用して、ユーザーが設定したパラメータ値を取得します:

リトリーバーのテスト

作成後、プラグインディレクトリでコマンドlbp runを実行してデバッグを開始します。その後、LangBotで:
  1. 「ナレッジベース」ページに移動
  2. 外部ナレッジベースを追加
  3. プラグインが提供するナレッジリトリーバーを選択し、設定を入力
保存後、LangBotパイプラインでこのナレッジベースを選択できます。