88API88API
Руководство пользователяAI-приложенияAPIПомощь и поддержка
Веб-поиск (Web Search)

Веб-поиск DeepSeek

DeepSeek V4.1 Flash ищет актуальную информацию в интернете и указывает источники — через инструмент web_search в Responses API.

📝 Обзор

deepseek-v4.1-flash умеет искать в интернете: модель сама решает, нужен ли поиск и по каким ключевым словам искать, отвечает на основе результатов и прикладывает ссылки на источники. Подходит для быстро меняющейся информации: новости, погода, котировки, результаты матчей.

Веб-поиск включается инструментом web_search в Responses API (POST /v1/responses).

Условия

  • Группа токена: Deepseek官转
  • Модель: deepseek-v4.1-flash
  • Эндпоинт: POST https://api.88api.ai/v1/responses

💡 Примеры

Базовый запрос ✅

curl https://api.88api.ai/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "tools": [{"type": "web_search"}],
    "input": "Какая сегодня погода в Ханчжоу?"
  }'

Python (OpenAI SDK) ✅

from openai import OpenAI

client = OpenAI(base_url="https://api.88api.ai/v1", api_key="sk-ваш-токен")

resp = client.responses.create(
    model="deepseek-v4.1-flash",
    tools=[{"type": "web_search"}],
    input="Какая сегодня погода в Ханчжоу?",
)
print(resp.output_text)

Ограничение ключевых слов и результатов ✅

curl https://api.88api.ai/v1/responses \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer $API_KEY" \
  -d '{
    "model": "deepseek-v4.1-flash",
    "max_tool_calls": 2,
    "tools": [{
      "type": "web_search",
      "max_keyword": 2,
      "limit": 5,
      "user_location": {"type": "approximate", "country": "Китай", "region": "Чжэцзян", "city": "Ханчжоу"}
    }],
    "input": "Какая сегодня погода в Ханчжоу?"
  }'

Потоковый вывод ✅

Добавьте "stream": true в тело запроса. Каждый поиск отправляет следующие события, после чего начинается текст ответа:

СобытиеЗначение
response.web_search_call.in_progressПоиск начат
response.web_search_call.searchingИдёт поиск
response.web_search_call.completedПоиск завершён
response.output_text.deltaТекст ответа по частям
response.completedГотово; содержит usage

📬 Пример ответа

Фрагмент; элементы рассуждений (reasoning) и другие поля опущены:

{
  "object": "response",
  "status": "completed",
  "output": [
    {
      "type": "web_search_call",
      "id": "ws_0217925902513450000...",
      "status": "completed",
      "action": {
        "type": "search",
        "query": "погода Ханчжоу сегодня"
      }
    },
    {
      "type": "message",
      "role": "assistant",
      "content": [
        {
          "type": "output_text",
          "text": "В Ханчжоу утром дождь прекратился, стало облачно, максимум около 21–24 °C...",
          "annotations": [
            {
              "type": "url_citation",
              "title": "中国气象局-天气预报-城市预报",
              "url": "https://weather.cma.cn/web/text/HD/AZJ.html",
              "site_name": "中国气象局",
              "publish_time": "2026年10月21日 08:00:00(CST) 星期三"
            }
          ]
        }
      ]
    }
  ],
  "usage": {
    "input_tokens": 4320,
    "output_tokens": 418,
    "total_tokens": 4738,
    "tool_usage": {"web_search": 1},
    "tool_usage_details": {"web_search": {"search_engine": 1}}
  }
}
ПолеОписание
output[].type = "web_search_call"Один поиск, выполненный моделью; action.query — ключевые слова, через ;, если в раунде их несколько
output[].type = "message"Итоговый ответ; текст в output_text.text
annotations[].type = "url_citation"Источник, на который ссылается ответ: заголовок, ссылка, название сайта, дата публикации
usage.tool_usage.web_searchЧисло поисков в запросе (считается по ключевым словам)

⚙️ Параметры

web_search в tools

ПараметрТипОбязательныйОписание
typestringДаВсегда web_search
max_keywordintegerНетМаксимум ключевых слов за раунд поиска, 1–50
limitintegerНетМаксимум результатов за один поиск, 1–50, по умолчанию 10
user_locationobjectНетПримерное местоположение пользователя, повышает точность погоды и местных вопросов. Формат: {"type": "approximate", "country": "Китай", "region": "Чжэцзян", "city": "Ханчжоу"}

Параметры запроса

ПараметрТипОбязательныйОписание
max_tool_callsintegerНетМаксимум раундов поиска в одном ответе, 1–10, по умолчанию 3
streambooleanНетПотоковый вывод

Остальные параметры (input, instructions, max_output_tokens и т. д.) такие же, как в OpenAI Responses.

💰 Оплата

Стоимость = токены модели + поиски:

  • Поиски считаются по ключевым словам: раунд с несколькими ключевыми словами засчитывается по одному разу на каждое слово, по значению usage.tool_usage.web_search. Если модель решила не искать, плата за поиск не взимается.
  • Токены: результаты поиска передаются модели как входные данные, поэтому входных токенов становится заметно больше (обычно на несколько тысяч за поиск); они оплачиваются по цене модели.
  • Чтобы контролировать расходы, ограничьте число ключевых слов за раунд через max_keyword и число раундов через max_tool_calls.

❓ Частые вопросы

Можно ли искать через /v1/chat/completions? Нет. Веб-поиск работает только в /v1/responses. Инструмент web_search, переданный в Chat Completions, не выполняет поиск и не оплачивается.

Почему модель не стала искать? Модель сама решает, нужен ли поиск. На вопросы, не требующие свежих данных (вычисления, общие знания), она отвечает сразу. Чтобы поиск точно был, попросите об этом явно, например «найди в интернете и ответь».

Работает ли в других группах? Сейчас веб-поиск поддерживает только deepseek-v4.1-flash в группе Deepseek官转.