Инструмент веб-поиска (web_search)
В этом документе описывается инструмент web_search для выполнения веб-поиска с использованием нескольких провайдеров.
Описание
Используйте web_search для выполнения веб-поиска и получения информации из интернета. Инструмент поддерживает несколько поисковых провайдеров и возвращает краткий ответ с указанием источников, если они доступны.
Поддерживаемые провайдеры
- DashScope (Официальный, бесплатный) — автоматически доступен для пользователей Qwen OAuth (200 запросов/мин, 1000 запросов/день)
- Tavily — высококачественный поисковый API со встроенной генерацией ответов
- Google Custom Search — JSON API пользовательского поиска Google
Аргументы
web_search принимает два аргумента:
query(string, обязательный): поисковый запросprovider(string, опциональный): конкретный провайдер для использования (“dashscope”, “tavily”, “google”)- Если не указан, используется провайдер по умолчанию из конфигурации
Конфигурация
Способ 1: Файл настроек (рекомендуется)
Добавьте в ваш settings.json:
{
"webSearch": {
"provider": [
{ "type": "dashscope" },
{ "type": "tavily", "apiKey": "tvly-xxxxx" },
{
"type": "google",
"apiKey": "your-google-api-key",
"searchEngineId": "your-search-engine-id"
}
],
"default": "dashscope"
}
}Примечания:
- DashScope не требует API key (официальный бесплатный сервис)
- Пользователи Qwen OAuth: DashScope автоматически добавляется в ваш список провайдеров, даже если он не настроен явно
- Настройте дополнительные провайдеры (Tavily, Google), если хотите использовать их вместе с DashScope
- Укажите
default, чтобы задать провайдер по умолчанию (если не задан, порядок приоритета: Tavily > Google > DashScope)
Способ 2: Переменные окружения
Задайте переменные окружения в вашей оболочке или файле .env:
# Tavily
export TAVILY_API_KEY="tvly-xxxxx"
# Google
export GOOGLE_API_KEY="your-api-key"
export GOOGLE_SEARCH_ENGINE_ID="your-engine-id"Способ 3: Аргументы командной строки
Передайте API keys при запуске Qwen Code:
# Tavily
qwen --tavily-api-key tvly-xxxxx
# Google
qwen --google-api-key your-key --google-search-engine-id your-id
# Specify default provider
qwen --web-search-default tavilyОбратная совместимость (устарело)
⚠️ УСТАРЕЛО: Устаревшая конфигурация tavilyApiKey всё ещё поддерживается для обратной совместимости, но считается устаревшей:
{
"advanced": {
"tavilyApiKey": "tvly-xxxxx" // ⚠️ Deprecated
}
}Важно: Эта конфигурация устарела и будет удалена в будущих версиях. Пожалуйста, перейдите на новый формат конфигурации webSearch, показанный выше. Старая конфигурация автоматически настроит Tavily в качестве провайдера, но мы настоятельно рекомендуем обновить ваши настройки.
Отключение веб-поиска
Если вы хотите отключить функциональность веб-поиска, вы можете исключить инструмент web_search в вашем settings.json:
{
"tools": {
"exclude": ["web_search"]
}
}Примечание: Для применения этой настройки требуется перезапуск Qwen Code. После отключения инструмент web_search будет недоступен для модели, даже если провайдеры веб-поиска настроены.
Примеры использования
Базовый поиск (с использованием провайдера по умолчанию)
web_search(query="latest advancements in AI")Поиск с указанием конкретного провайдера
web_search(query="latest advancements in AI", provider="tavily")Примеры из реальной практики
web_search(query="weather in San Francisco today")
web_search(query="latest Node.js LTS version", provider="google")
web_search(query="best practices for React 19", provider="dashscope")Подробности о провайдерах
DashScope (Официальный)
- Стоимость: Бесплатно
- Аутентификация: Автоматически доступен при использовании аутентификации Qwen OAuth
- Конфигурация: API key не требуется, автоматически добавляется в список провайдеров для пользователей Qwen OAuth
- Квота: 200 запросов/мин, 1000 запросов/день
- Лучше всего подходит для: общих запросов, всегда доступен в качестве резервного варианта для пользователей Qwen OAuth
- Автоматическая регистрация: Если вы используете Qwen OAuth, DashScope автоматически добавляется в ваш список провайдеров, даже если вы не настраиваете его явно
Tavily
- Стоимость: Требуется API key (платный сервис с бесплатным тарифом)
- Регистрация: https://tavily.com
- Возможности: Высококачественные результаты с ответом, сгенерированным ИИ
- Лучше всего подходит для: исследований, развернутых ответов с цитированием источников
Google Custom Search
- Стоимость: Доступен бесплатный тариф (100 запросов/день)
- Настройка:
- Включите Custom Search API в Google Cloud Console
- Создайте пользовательскую поисковую систему на https://programmablesearchengine.google.com
- Возможности: Качество поиска Google
- Лучше всего подходит для: конкретных запросов, требующих фактических данных
Важные примечания
- Формат ответа: Возвращает краткий ответ с пронумерованными ссылками на источники
- Цитирование: Ссылки на источники добавляются в виде нумерованного списка: [1], [2] и т.д.
- Несколько провайдеров: Если один провайдер не отвечает, вручную укажите другой с помощью параметра
provider - Доступность DashScope: Автоматически доступен для пользователей Qwen OAuth, настройка не требуется
- Выбор провайдера по умолчанию: Система автоматически выбирает провайдер по умолчанию на основе доступности:
- Ваша явная конфигурация
default(наивысший приоритет) - Аргумент CLI
--web-search-default - Первый доступный провайдер по приоритету: Tavily > Google > DashScope
- Ваша явная конфигурация
Устранение неполадок
Инструмент недоступен?
- Для пользователей Qwen OAuth: Инструмент автоматически регистрируется с провайдером DashScope, настройка не требуется
- Для других типов аутентификации: Убедитесь, что настроен хотя бы один провайдер (Tavily или Google)
- Для Tavily/Google: Проверьте правильность ваших API keys
Ошибки, связанные с конкретным провайдером?
- Используйте параметр
provider, чтобы попробовать другой поисковый провайдер - Проверьте квоты и лимиты запросов вашего API
- Убедитесь, что API keys правильно указаны в конфигурации
Нужна помощь?
- Проверьте конфигурацию: запустите
qwenи используйте диалог настроек - Просмотрите текущие настройки в
~/.qwen-code/settings.json(macOS/Linux) или%USERPROFILE%\.qwen-code\settings.json(Windows)