Skip to Content
Руководство для разработчиковИнструментыПолучение данных из веба

Инструмент веб-загрузки (web_fetch)

В этом документе описывается инструмент web_fetch для Qwen Code.

Описание

Используйте web_fetch для загрузки содержимого по указанному URL и его обработки с помощью AI-модели. Инструмент принимает 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, при этом продолжая работать с API, возвращающими только JSON.
    • "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. Инструмент запросит подтверждение перед загрузкой. После подтверждения инструмент загрузит содержимое напрямую и обработает его с помощью AI-модели.

Инструмент автоматически:

  • Преобразует HTML в текст при необходимости
  • Обрабатывает URL GitHub blob (преобразуя их в raw-ссылки)
  • Обновляет HTTP-адреса до 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-адреса до HTTPS и преобразует URL GitHub blob в сырой (raw) формат для лучшего доступа к содержимому.
  • Согласование содержимого: Инструмент поддерживает согласование содержимого “Markdown for Agents”. При использовании format="auto" (по умолчанию) он отправляет Accept: text/markdown, text/html;q=0.9, text/plain;q=0.8, */*;q=0.1, что позволяет серверам, поддерживающим markdown, возвращать его напрямую вместо HTML. Резервный вариант */* с низким приоритетом позволяет загружать данные из API, возвращающих только JSON, и других не-текстовых конечных точек. Это может сократить расход токенов до 80%.
  • Обработка содержимого: Инструмент загружает содержимое напрямую и обрабатывает его с помощью AI-модели. Когда сервер возвращает HTML, он преобразуется в читаемый текстовый формат. Когда сервер возвращает markdown, обычный текст или другой резервный тип содержимого, например JSON, содержимое используется как есть.
  • Качество вывода: Качество вывода зависит от чёткости инструкций в запросе.
  • MCP-инструменты: Если доступен инструмент веб-загрузки, предоставленный MCP (начинающийся с “mcp__”), предпочтительнее использовать его, так как он может иметь меньше ограничений.

Поддержка Markdown for Agents

Инструмент web_fetch Qwen Code реализует поддержку спецификации Markdown for Agents от Cloudflare . Эта функция позволяет веб-сайтам отдавать содержимое в формате markdown напрямую AI-агентам, значительно сокращая расход токенов по сравнению с парсингом HTML.

Как это работает

  1. Параметр format управляет только заголовком Accept, отправляемым серверу (он не влияет на выходной формат):
    • format="auto": отправляет Accept: text/markdown, text/html;q=0.9, text/plain;q=0.8, */*;q=0.1
    • format="markdown": отправляет Accept: text/markdown, */*;q=0.1
    • format="html": отправляет Accept: text/html, */*;q=0.1
    • format="text": отправляет Accept: text/plain, */*;q=0.1
  2. Если сервер поддерживает markdown, он возвращает Content-Type: text/markdown
  3. Инструмент использует содержимое markdown или обычного текста напрямую, без преобразования
  4. Если сервер возвращает HTML, инструмент преобразует его в читаемый текстовый формат для обработки LLM; markdown, обычный текст и резервные типы содержимого, такие как JSON, используются как есть
  5. Всё содержимое нормализуется в текст перед обработкой AI-моделью

Преимущества

  • Эффективность токенов: Содержимое в формате markdown обычно использует на 80% меньше токенов, чем эквивалентный HTML
  • Лучшая структура: Markdown сохраняет семантическую структуру (заголовки, списки и т.д.)
  • Обратная совместимость: Работает со всеми веб-сайтами, улучшенный опыт для поддерживающих серверов

Примеры серверов, поддерживающих markdown

  • Документация разработчиков Cloudflare
  • Блог Cloudflare
  • Любой веб-сайт, использующий функцию “Markdown for Agents” от Cloudflare
Last updated on