本記事はこちらのブログを参考にしています。
翻訳にはアリババクラウドのModelStudio(Qwen)を使用しております。
HigressでDeepSeekウェブ検索をサポートするためのステップバイステップガイド
以前、HigressがDeepSeekウェブ検索をサポートする記事をこちらに公開しましたが、ステップバイステップのガイドが不足していました。この記事ではそれを補足し、この機能に興味のある方々を支援することを目指します。Higressのインストールプロセスについては繰り返しません。代わりに、すでにインストールされているHigressのインスタンスから始めましょう。
ステップ 0: DeepSeek APIキーの設定
Higressのインストール中にDeepSeek APIキーを入力しなかった場合、ここで設定できます。
ステップ 1: 検索エンジンAPIドメインの設定
まず、Higressコンソールで、さまざまな検索エンジンのドメイン名をサービスオリジンを作成して設定します。
-
Google検索APIドメイン: customsearch.googleapis.com
-
Bing検索APIドメイン: api.bing.microsoft.com
-
Quark検索APIドメイン: cloud-iqs.aliyuncs.com
-
Arxiv APIドメイン: export.arxiv.org
設定後、対応するAPIキーの申請も必要です。Quark検索のAPIキー申請について(GoogleとBingはオンライン情報が豊富なので詳細は省略、Arxivは無料でAPIキーは不要):
まず、Alibaba Cloudアカウントが必要です。次に、Alibaba CloudコンソールでIQSを検索し、IQSコンソールに入り、APIキーを生成します。
詳細はIQSのドキュメントをご覧ください: https://help.aliyun.com/document_detail/2870227.html
ステップ 2: AI検索プラグインの設定
Higressバージョン2.1.0より前の場合、AI検索プラグインをカスタムプラグイン経由でインポートする必要があります。
プラグインのOCIイメージアドレスに注意してください: higress-registry.cn-hangzhou.cr.aliyuncs.com/plugins/ai-search:latest
最新版のAI検索プラグインを使用する場合、安定版を希望する場合はタグを1.0.0
に変更してください。デフォルトの実行ステージを選択し、実行優先度を100より大きい値に設定します(これにより、AI検索プラグインがLLMプロバイダーへの転送直前に実行され、プロンプトを変更します)。プラグイン追加後、以下のように設定します。
設定例:yaml
needReference: true # 結果にウェブページの参照情報を含める場合はtrueに設定
promptTemplate: | # 組み込みテンプレートを使用する場合は設定をスキップ可能
以下の内容はユーザーが送信したクエリに基づく検索結果です:
{search_results}
私が提供する検索結果では、各結果は「[webpage X begin]...[webpage X end]」の形式で表示されます。Xは各記事のインデックス番号を表します。適切な箇所で文末に引用を追加してください。回答内の対応部分には引用番号]の形式を使用してください。ある文が複数の文脈から派生している場合、関連するすべての引用番号をリストアップしてください(例: [3][5])。引用を文末にまとめるのではなく、回答の該当部分にリスト化してください。回答時には次の点に注意してください:
- 北京時間での今日の日付は: {cur_date}です。
- 検索結果のすべてのコンテンツがユーザーの質問と密接に関連しているわけではありません。質問に基づいて検索結果を判断し、フィルタリングしてください。
- リスト型の質問(例: すべてのフライト情報をリスト化)の場合、回答は10項目以内に収め、完全な情報を確認するには検索元をチェックするようユーザーに通知してください。最も包括的で関連性の高い情報を優先的に提供し、検索結果にない情報を自発的に提供しないでください(必要な場合を除く)。
- 創作型の質問(例: 論文作成)の場合、本文中に関連する参考文献を引用し(例: [3][5])、記事の最後にのみ記載するのではなく、ユーザーのトピック要件を解釈・要約し、適切なフォーマットを選択し、検索結果を最大限活用して重要な情報を抽出し、ユーザーの要求を満たす回答を生成してください。深く考え、創造的で専門的なアプローチを取り入れてください。可能な限り長さを延ばし、各ポイントにおけるユーザーの意図を仮定し、できるだけ多くの角度から情報を提供し、内容を充実させ、詳細な議論を行ってください。
- 回答が長い場合、要約を段落に分けて構造化してください。ポイントごとに回答する場合、5項目以内に収め、関連する内容を統合してください。
- 客観的なQ&Aの場合、回答が非常に短い場合は、内容を充実させるために1つか2つの関連する文を追加してください。
- ユーザーの要件や回答内容に応じて、適切で美的なフォーマットを選択し、高い可読性を確保してください。
- 回答は複数の関連するウェブページを統合して応答し、単一のウェブページを繰り返し引用しないようにしてください。
- ユーザーが別の言語を指定しない限り、質問と同じ言語で回答してください。
ユーザーのメッセージは:
{question}
searchFrom: # 以下は設定済みの検索エンジンオプションのリストです。必要なものだけ設定してください
- type: quark
apiKey: your-quark-api-key # 👈 ここにあなたのキーを入力
serviceName: quark.dns
servicePort: 443 - type: google
apiKey: your-google-api-key # 👈 ここにあなたのキーを入力
cx: your-search-engine-id # 👈 ここにあなたのエンジンIDを入力
serviceName: google.dns
servicePort: 443 - type: bing
apiKey: bing-key # 👈 ここにあなたのキーを入力
serviceName: bing.dns
servicePort: 44