実行プログラムと拡張機能
最終更新
DeepSeek Search・Fetch API:ローカルLLMにウェブ検索を付ける
検索とページ取得を分けて呼び出し、返ってきた要約をローカルモデルの入力に入れます。
DeepSeekのSearch API1は問い合わせに合うウェブ文書の一覧を、Fetch APIは指定したページの本文をMarkdownで返します。どちらも同じAPIキーを使い、成功した1,000リクエストごとにそれぞれ$0.75です。ローカルモデルにツール呼び出し2を強いるより、アプリが先に検索し、上位結果の要約とURLをプロンプト3に入れるほうが単純で再現しやすくなります。
検索とページ取得は別々のAPIです
Search APIは問い合わせに合うウェブ文書の一覧を返し、Fetch APIは指定したURL一件の本文をMarkdownで取得します。どちらもhttps://api.deepseek.comの下の/v1/tools/searchと/v1/tools/fetchにあり、DeepSeek APIキーをBearerで使います。検索だけではページ全文は得られないため、要約で足りるか本文が必要かを先に決めます。
検索は1〜128文字の問い合わせと1〜50件の結果(既定10件)を受け取ります。need_contentを有効にするとページ本文も返りますが、その分レスポンスが大きくなります。ori_questionには検索を呼び出した元の質問を128文字まで入れて順位を補正できます。

レスポンスでは順位スコアと要約を先に見ます
各結果にはrerank_score(0〜3)、authority(0〜4)、date、summary(通常600〜800文字)、contentが含まれます。1.5以上は関連性が高いとされ、authority 3以上は信頼度の高い出典として示されます。モデルに入れるときは要約・URL・日付を一緒に残すと出典を付けやすくなります。
| フィールド | 値 | 用途 |
|---|---|---|
rerank_score | 0~3 | 上位結果を選ぶ基準 |
authority | 0~4 | 出典の信頼度 |
summary | 600〜800文字 | プロンプトに入れる要約 |
content | need_contentのとき | 本文の一部確認 |
ローカルモデルには検索結果をプロンプトで渡します
ローカルモデルにツール呼び出しを任せると、小さいモデルほどスキーマを破ったり同じ呼び出しを繰り返したりします。代わりにアプリが先に検索し、上位3〜5件のsummaryを引用番号付きでプロンプトに入れ、ローカルモデルには「与えられた資料だけで答え、ない内容は分からないと言う」よう依頼する方法が単純です。
本文が必要な質問では、選んだ結果のURLだけをFetchで取得して本文を切り出します。長いページは質問に関係する段落だけを残し、文書ごとにURLと取得時刻を記録してください。こうしておけばモデルを変えても検索部分はそのまま再利用できます。
curl https://api.deepseek.com/v1/tools/search \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"DeepSeek V4.1 Flash 1017","count":5}'料金は成功したリクエストに付きます
SearchとFetchはそれぞれ成功した1,000リクエストごとに$0.75です。1日40回の検索と20回の取得なら、1か月で検索1,200件、Fetch 600件、約$1.35になります。失敗したリクエストは課金対象外と案内されていますが、再試行が成功すればその分は数えられます。
DeepSeek Harness、Claude Code、Codexからサーバーツールとして呼ぶ場合は2026年11月1日0時(北京時間)まで無料です。その後は同じ呼び出しもリクエストごとに課金されるため、無料期間中に呼び出し量を記録しておくと切り替え後の費用を見積もりやすくなります。
| API | 単位 | 価格 |
|---|---|---|
| Search | 成功1,000件 | $0.75 |
| Fetch | 成功1,000件 | $0.75 |

Fetchの失敗は原因別に処理します
Fetchは取得先のサイトに拒否されると403、使える本文が得られないと404、アドレスを解決できないと500を返すことがあります。残高がない場合は402です。403と404は同じURLで再試行しても結果が変わらないことが多いため、別の出典に替えるか検索の要約で代用します。
URLにユーザー名やパスワードを含めることはできず、サイトのアクセス方針を回避する用途に使ってはいけません。再試行は5xxに限って短く行い、成功したURLと本文ハッシュをキャッシュすれば同じページを繰り返し取得する費用を減らせます。
運用に組み込む前に残す記録
問い合わせ、使ったURL、取得時刻、モデルとプロンプトの版を一行ずつ残します。検索結果は時間とともに変わるため、同じ質問に別の答えが出たとき、検索時点の資料を確認できる必要があります。個人情報や社内文書を問い合わせに入れる前に、外部へ出る範囲を決めてください。
レスポンス本文をそのまま保存するときは著作権とサイト規約を確認し、必要な長さだけを保管します。ローカルモデルと検索APIを併用すると、モデルは手元で動いても問い合わせとURLは外部に出るため、その点を利用者に伝えてください。

用語の注釈
よくある質問
- この記事で最初に確認すべきことは何ですか?
- DeepSeekのSearch APIは問い合わせに合うウェブ文書の一覧を、Fetch APIは指定したページの本文をMarkdownで返します。どちらも同じAPIキーを使い、成功した1,000リクエストごとにそれぞれ$0.75です。ローカルモデルにツール呼び出しを強いるより、アプリが先に検索し、上位結果の要約とURLをプロンプトに入れるほうが単純で再現しやすくなります。
