# ウェブ検索

LLMプロンプトに Web検索結果を追加。

# 利用可能なソース

# Seleniumプラグイン

インストール済みで有効にされている公式サーバープラグインが必要。

詳細についてはSillyTavern-WebSearch-Seleniumを参照。

GoogleおよびDuckDuckGoエンジンをサポート。

# Extras API

websearchモジュールと、ホストマシーンにインストール済みのChrome/Firefoxウェブブラウザが必要。

GoogleおよびDuckDuckGoエンジンをサポート。

# SerpApi

APIキーが必要です。

キーをここで取得:https://serpapi.com/dashboard

# SearXNG

SearXNGインスタンスURL(プライベートまたはパブリック)が必要。検索結果でHTMLフォーマットを使用。

SearXNGプリファレンス文字列:SearXNGから取得 - プリファレンス - COOKIES - プリファレンスハッシュをコピー

詳細:https://docs.searxng.org/

# Tavily AI

APIキーが必要です。

キーをここで取得:https://app.tavily.com/

# KoboldCpp

KoboldCpp URLはテキスト補完API設定に入力する必要があります。KoboldCppバージョンは>= 1.81.1である必要があり、WebSearchモジュールはスタートアップ時に有効にする必要があります:GUIランチャーでNetwork =>Enable WebSearchを有効にするか、--websearchをコマンドラインに追加します。

参照:https://github.com/LostRuins/koboldcpp/releases/tag/v1.81.1

# Serper

APIキーが必要です。

キーをここで取得:https://serper.dev/

# 使用方法

  1. SillyTavernの最新バージョンを使用していることを確認。
  2. SillyTavernの「拡張機能とアセットをダウンロード」メニューを通じて拡張機能をインストール。
  3. 「ウェブ検索」拡張機能設定を開き、APIキーを設定またはExtrasに接続し、拡張機能を有効にします。
  4. チャット中、Web検索結果がプロンプトに有機的に追加されます。ユーザー メッセージのみが検索をトリガー。
  5. 検索結果をより有機的に含めるには、単一のバックティックで検索クエリをラップ:最新のRyan Goslingムービー「latest Ryan Gosling movie」の検索クエリを生成します。
  6. 必要に応じて、好みに応じて設定を構成。

# 設定

# 一般

  1. 有効 - 拡張機能をオン/オフにします。
  2. ソース = 検索結果ソースを設定。
  3. キャッシュ寿命 - プロンプト向けに検索結果がキャッシュされる期間(秒)。デフォルト = 1週間。

# プロンプト設定

  1. プロンプト予算 - 挿入されたテキストの最大容量(テキストの文字数、トークンではない)を設定。経験則として:1トークン~3~4文字。モデルのコンテキスト制限に応じて調整。デフォルト = 1500文字。
  2. 挿入テンプレート - 結果がプロンプトに挿入される方法。通常のマクロ+特別なマクロをサポート:検索クエリ、検索結果。
  3. 注入位置 - 結果がプロンプト内に記載される場所。オプションはAuthor's Noteの場合と同じ:チャット内注入または システムプロンプトの前/後。

# 検索アクティベーション

  1. 関数ツールを使用 - 関数呼び出しを使用して検索またはウェブページをスクレイピングをアクティベート。サポートされているチャット補完APIを使用し、AI応答設定で有効にする必要があります。他のすべてのアクティベーション方法を無効にします。
  2. バックティックを使用 - 単一のバックティック内に囲まれた単語を使用して検索アクティベーションを有効にします。
  3. トリガーフレーズを使用 - トリガーフレーズを使用して検索アクティベーションを有効にします。
  4. 正規表現 - ユーザーメッセージをマッチするJS風の正規表現を提供。正規表現が一致する場合、指定されたクエリで検索がトリガーされます。検索クエリは``と$1構文をサポートして、マッチグループを参照。例:/what is happening in (.*)/i正規表現「news in $1」の検索クエリ「New Yorkで何が起きているか」を含むメッセージと一致し、「New Yorkのニュース」クエリで検索をトリガーします。
  5. トリガーフレーズ - 検索をトリガーするフレーズを追加(1つずつ)。これは、メッセージ内のどこにでも表示でき、クエリは「Max Words」合計からのトリガーワードから開始されます。特定のメッセージを除外する場合は、それはピリオドで開始する必要があります。例:.あなたは何だと思いますか?。トリガーの優先度:テキストボックス内の順序優先、メッセージ内の最初のもの優先。
  6. Max Words - 検索クエリに含まれるワード数(トリガーフレーズを含む)。Googleは約32ワードの制限があります。デフォルト = 10ワード。

# ページスクレイピング

  1. リンクをクリック - 検索結果ページからテキストが抽出され、ファイル添付に保存されます。
  2. 訪問カウント - 解析および解析されるリンク数。
  3. ドメインブラックリストを訪問 - 訪問から除外するサイトドメイン。1行ごと。
  4. ファイルヘッダー - テキストファイルの開始時に挿入されるファイル ヘッダーテンプレート。追加のマクロがあります。
  5. ブロックヘッダー - すべてのリンクの解析されたコンテンツとともに挿入されるリンク ブロック テンプレート。ページURLとページコンテンツにはマクロを使用してください。
  6. ターゲットを保存 - スクレイピング結果の保存場所。可能なオプション:メッセージ添付の場合は、チャット添付のData Bank、またはイメージのみ(ソースがサポートしている場合)をトリガーします。
  7. イメージを含める - 関連イメージをチャットに添付します。イメージをサポートするソースが必要です(下記参照)。

# 詳細情報

最新クエリからの検索結果は、次の有効なクエリが見つかるまでプロンプトに含まれたままになります。 誤ってトリガーを避けて質問をしたい場合は、メッセージをピリオドで開始します。例:.さあ、テストしましょう。

トリガーの優先度(複数が有効な場合):

  1. バックティック。
  2. 正規表現。
  3. トリガーフレーズ。

すべての以前のクエリを処理から破棄するには、ユーザー メッセージを感嘆符で開始します。たとえば、!さあ、テストしてみましょう。メッセージで、これとその上のすべてのメッセージを破棄します。

この拡張機能は/websearchスラッシュコマンドもSTscriptで使用するために提供します。詳細情報:STscript言語リファレンス

stscript
/websearch (links=on|off snippets=on|off [query]) – Web検索クエリを実行します。何を返すかを指定するために名前付き引数を使用してください - ページスニペット(デフォルト:on)、完全解析ページ(デフォルト:off)、または両方。

例:/websearch links=off snippets=on サンドイッチの作り方

# 検索結果に含めることができるものは何ですか?

辞書:

  • 回答ボックス:質問への直接回答。
  • Knowledge graph:トピックに関する百科事典的知識。
  • ページスニペット:Webページからの関連抽出。
  • 関連する質問:類似トピックへの質問と回答。
  • 画像:関連の画像。

# SerpApi

  1. 回答ボックス。
  2. Knowledge graph。
  3. ページスニペット(最大10)。
  4. 関連する質問(最大10)。
  5. 画像(最大10)。

# SeleniumプラグインおよびExtras API

  1. Google - 回答ボックス、knowledge graph、ページスニペット。
  2. DuckDuckGo - ページスニペット。

Seleniumプラグインは追加で画像を提供できます。

# SearXNG

  1. 情報ボックス。
  2. ページスニペット。
  3. 画像。

# Tavily AI

  1. 回答。
  2. ページコンテンツ。
  3. 画像(最大5)。

# KoboldCpp

  1. ページタイトル。
  2. ページスニペット。

# Serper

  1. 回答ボックス。
  2. Knowledge graph。
  3. ページスニペット。
  4. 関連する質問。
  5. 画像。