Инструмент веб-загрузки (web_fetch)
В этом документе описывается инструмент web_fetch для Qwen Code.
Описание
Используйте web_fetch для получения содержимого по указанному URL и его обработки с помощью ИИ-модели. Инструмент принимает URL и подсказку (prompt) на вход, загружает содержимое URL и обрабатывает его с помощью подсказки, используя небольшую быструю модель.
Аргументы
web_fetch принимает три аргумента:
url(строка, обязательный): URL для загрузки содержимого. Должен быть полностью сформированным корректным URL, начинающимся сhttp://илиhttps://.prompt(строка, обязательный): Подсказка, описывающая, какую информацию вы хотите извлечь из содержимого страницы.format(строка, необязательный): Управляет только заголовкомAccept, отправляемым серверу, указывая ваше предпочтение по содержимому. Всё загруженное содержимое нормализуется в обычный текст для обработки LLM, независимо от указанного формата. По умолчанию используется"auto", если не указано иное."auto"(по умолчанию): Предпочитает markdown через согласование содержимого (Accept: text/markdown, text/html;q=0.9, text/plain;q=0.8, */*;q=0.1), затем переключается на HTML, обычный текст или другие типы содержимого. Рекомендуется для большинства случаев, так как может снизить использование токенов до 80% для серверов, поддерживающих markdown, при этом продолжая работать с JSON-только API."markdown": ПредпочитаетAccept: text/markdown, */*;q=0.1. Используйте, когда вам явно нужно содержимое в формате markdown."html": ПредпочитаетAccept: text/html, */*;q=0.1. Используйте, когда сервер требует HTML в заголовке Accept. Содержимое всё равно преобразуется в обычный текст для обработки LLM."text": ПредпочитаетAccept: text/plain, */*;q=0.1. Используйте, когда вам нужно именно содержимое в виде обычного текста.
Как использовать web_fetch с Qwen Code
Чтобы использовать web_fetch с Qwen Code, укажите URL и подсказку, описывающую, что вы хотите извлечь из этого URL. Инструмент запросит подтверждение перед загрузкой URL. После подтверждения инструмент напрямую загрузит содержимое и обработает его с помощью ИИ-модели.
Инструмент автоматически:
- Преобразует HTML в текст при необходимости
- Обрабатывает URL-адреса blob на GitHub (преобразуя их в raw-URL)
- Обновляет HTTP URL до HTTPS для безопасности
- Поддерживает согласование содержимого для markdown (значительно снижает использование токенов)
Использование:
web_fetch(url="https://example.com", prompt="Обобщи основные моменты этой статьи")С указанием формата:
web_fetch(url="https://example.com", prompt="Получить необработанное содержимое", format="markdown")Примеры web_fetch
Обобщение одной статьи:
web_fetch(url="https://example.com/news/latest", prompt="Не могли бы вы обобщить основные моменты этой статьи?")Извлечение конкретной информации:
web_fetch(url="https://arxiv.org/abs/2401.0001", prompt="Каковы ключевые результаты и методология, описанные в этой статье?")Анализ документации GitHub:
web_fetch(url="https://github.com/QwenLM/Qwen/blob/main/README.md", prompt="Каковы шаги по установке и основные возможности?")Получение содержимого в формате markdown (для серверов, поддерживающих Markdown for Agents):
web_fetch(url="https://developers.cloudflare.com/fundamentals/reference/markdown-for-agents/", prompt="Извлеки ключевую информацию", format="markdown")Важные замечания
- Обработка одного URL:
web_fetchобрабатывает один URL за раз. Для анализа нескольких URL делайте отдельные вызовы инструмента. - Формат URL: Инструмент автоматически обновляет HTTP URL до HTTPS и преобразует URL blob на GitHub в raw-формат для лучшего доступа к содержимому.
- Согласование содержимого: Инструмент поддерживает согласование содержимого “Markdown for Agents”. При использовании
format="auto"(по умолчанию) он отправляетAccept: text/markdown, text/html;q=0.9, text/plain;q=0.8, */*;q=0.1, что позволяет серверам, поддерживающим markdown, возвращать его напрямую вместо HTML. Запасной вариант*/*с низким приоритетом сохраняет возможность загрузки с JSON-только API и других не-текстовых конечных точек. Это может снизить использование токенов до 80%. - Обработка содержимого: Инструмент напрямую загружает содержимое и обрабатывает его с помощью ИИ-модели. Когда сервер возвращает HTML, он преобразует его в читаемый текстовый формат. Когда сервер возвращает markdown, обычный текст или другой запасной тип содержимого, например JSON, он использует содержимое как есть.
- Качество вывода: Качество вывода будет зависеть от чёткости инструкций в подсказке.
- MCP-инструменты: Если доступен предоставленный MCP инструмент веб-загрузки (начинающийся с “mcp__”), предпочтительнее использовать его, так как он может иметь меньше ограничений.
Поддержка Markdown for Agents
Инструмент web_fetch в Qwen Code реализует поддержку спецификации Cloudflare’s Markdown for Agents . Эта функция позволяет веб-сайтам предоставлять содержимое в формате markdown напрямую ИИ-агентам, значительно снижая использование токенов по сравнению с разбором HTML.
Как это работает
- Параметр
formatуправляет только заголовкомAccept, отправляемым серверу (он не влияет на формат вывода):format="auto": отправляетAccept: text/markdown, text/html;q=0.9, text/plain;q=0.8, */*;q=0.1format="markdown": отправляетAccept: text/markdown, */*;q=0.1format="html": отправляетAccept: text/html, */*;q=0.1format="text": отправляетAccept: text/plain, */*;q=0.1
- Если сервер поддерживает markdown, он возвращает
Content-Type: text/markdown - Инструмент использует содержимое markdown или обычного текста напрямую без преобразования
- Если сервер возвращает HTML, он преобразуется в читаемый текстовый формат для обработки LLM; markdown, обычный текст и запасные типы содержимого, такие как JSON, используются как есть
- Всё содержимое нормализуется в текст перед обработкой ИИ-моделью
Преимущества
- Эффективность токенов: Markdown-контент обычно использует на 80% меньше токенов по сравнению с эквивалентным HTML
- Лучшая структура: Markdown сохраняет семантическую структуру (заголовки, списки и т.д.)
- Обратная совместимость: Работает со всеми веб-сайтами, улучшенный опыт для поддерживающих серверов
Примеры серверов, поддерживающих markdown
- Cloudflare Developer Documentation
- Cloudflare Blog
- Любой веб-сайт, использующий функцию Cloudflare “Markdown for Agents”