Web Fetch
Позвольте модели прочитать публичный URL и извлечённый page или PDF content.
Используйте gonkagate:web_fetch, когда модели нужно прочитать конкретный публичный URL. GonkaGate загружает URL, извлекает полезный текст из HTML, plain text или PDF content и передаёт результат модели.
Используйте Web Search, когда модели нужно сначала найти источники. Используйте Web Fetch, когда URL уже известен.
Быстрый старт
export GONKAGATE_API_KEY="gp-your-api-key"
curl https://api.gonkagate.com/v1/chat/completions \
-H "Authorization: Bearer $GONKAGATE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen/qwen3-235b-a22b-instruct-2507-fp8",
"messages": [
{
"role": "user",
"content": "Summarize the page at https://example.com/article."
}
],
"tools": [
{ "type": "gonkagate:web_fetch" }
]
}'Как это работает
- Добавьте
{ "type": "gonkagate:web_fetch" }вtools. - Модель решает, какой URL из разговора нужно загрузить.
- GonkaGate загружает публичный URL и извлекает readable content.
- Извлечённый result возвращается модели как tool output.
- Модель отвечает как обычно в
choices[0].message.content.
Configuration
{
"tools": [
{
"type": "gonkagate:web_fetch",
"parameters": {
"max_uses": 5,
"max_content_tokens": 20000,
"allowed_domains": ["docs.example.com"],
"blocked_domains": ["private.example.com"]
}
}
]
}| Parameter | Type | Default | Описание |
|---|---|---|---|
engine | string | auto | Optional compatibility value. Поддерживаются только auto и openrouter. Обычно поле можно не передавать. |
max_uses | integer | 5 | Максимум fetch calls в одном запросе. Диапазон: 1 - 50. |
max_content_tokens | integer | 20000 | Примерный максимум content, который вернётся модели из одного fetch. Диапазон: 1 - 100000. Более длинный content обрезается. |
allowed_domains | string[] | none | Если задано, можно fetch только эти domains и их subdomains. |
blocked_domains | string[] | none | Если задано, эти domains и их subdomains отклоняются. |
Domain filtering
Используйте allowed_domains, когда запрос должен оставаться внутри известного docs site или product domain.
{
"tools": [
{
"type": "gonkagate:web_fetch",
"parameters": {
"allowed_domains": ["docs.gonkagate.com", "github.com"]
}
}
]
}Domains сопоставляются с точным domain и subdomains. Например, example.com также разрешает docs.example.com.
Поддержанные URL и content
- URL должен быть абсолютным
http://илиhttps://URL. - URL со встроенными credentials отклоняются.
- Private, local и non-public network targets отклоняются.
- Поддерживаются HTML, plain text и PDF.
- Очень большие или неподдержанные responses могут завершиться ошибкой до передачи content модели.
stream: trueне поддерживается сgonkagate:web_fetch.- Если вы также передаёте user-defined function tools, модель не должна вызывать Web Fetch и ваш function tool в одном assistant turn.
Tool result
Модель получает tool result такого вида. Ваше приложение обычно видит только финальный ответ модели, а не этот raw object, если модель сама не включит детали из него.
{
"url": "https://example.com/article",
"title": "Article title",
"content": "Extracted page text...",
"content_type": "text/html; charset=utf-8",
"http_status": 200,
"status": "completed",
"retrieved_at": "2026-06-29T12:00:00.000Z"
}Если fetch не удался, модель получает failed tool result:
{
"url": "https://example.com/missing",
"status": "failed",
"error": "HTTP 404: Not Found",
"retrieved_at": "2026-06-29T12:00:00.000Z"
}Usage
Когда Web Fetch выполняется, ответ может показать количество fetch calls в usage.server_tool_use.web_fetch_requests. Fetched content также попадает в model context, поэтому может влиять на обычное token usage.
Частые ошибки
| Error code | Что означает | Как исправить |
|---|---|---|
unsupported_server_tool | gonkagate:web_fetch использован с stream: true, или запрос использует неизвестный gonkagate:* tool. | Уберите stream или поставьте stream: false; используйте поддержанный tool type. |
invalid_server_tool_parameters | Parameter имеет неправильный type, range или unsupported name. | Используйте только параметры с этой страницы. |
invalid_server_tool_call | Модель попыталась вызвать Web Fetch и user-defined function tool в одном assistant turn. | Разделите задачу: сначала fetch, затем вызов вашего function tool в следующем turn. |
server_tool_limit_exceeded | Модель попыталась fetch больше URL, чем разрешает max_uses. | Увеличьте max_uses в допустимом диапазоне или сузьте prompt. |
Связанные страницы
- Server Tools Overview
- Web Search, если модели нужно сначала найти sources.
- PDF Inputs Plugin, если запрос включает PDF files напрямую.
- Справочник Chat Completions API для полной схемы запроса.