vLLM може обслуговувати моделі з відкритим кодом (і деякі кастомні) через OpenAI-сумісний HTTP API. OpenClaw підключається до vLLM за допомогою APIDocumentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
openai-completions.
OpenClaw також може автоматично виявляти доступні моделі з vLLM, коли ви вмикаєте це через VLLM_API_KEY (будь-яке значення працює, якщо ваш сервер не вимагає автентифікації). Використовуйте vllm/* у agents.defaults.models, щоб виявлення залишалося динамічним, коли ви також налаштовуєте кастомний базовий URL vLLM.
OpenClaw розглядає vllm як локального OpenAI-сумісного провайдера, який підтримує
потоковий облік використання, тому лічильники токенів статусу/контексту можуть оновлюватися з
відповідей stream_options.include_usage.
| Властивість | Значення |
|---|---|
| ID провайдера | vllm |
| API | openai-completions (OpenAI-сумісний) |
| Автентифікація | змінна середовища VLLM_API_KEY |
| Базовий URL за замовчуванням | http://127.0.0.1:8000/v1 |
Початок роботи
Запустіть vLLM з OpenAI-сумісним сервером
Ваш базовий URL має надавати ендпоінти
/v1 (наприклад, /v1/models, /v1/chat/completions). vLLM зазвичай працює на:Задайте змінну середовища ключа API
Будь-яке значення працює, якщо ваш сервер не вимагає автентифікації:
Виявлення моделей (неявний провайдер)
КолиVLLM_API_KEY задано (або існує профіль автентифікації) і ви не визначаєте models.providers.vllm, OpenClaw запитує:
Якщо ви явно задаєте
models.providers.vllm, OpenClaw за замовчуванням використовує оголошені вами моделі. Додайте "vllm/*": {} до agents.defaults.models, коли хочете, щоб OpenClaw запитував ендпоінт /models цього налаштованого провайдера і включав усі оголошені моделі vLLM.Явна конфігурація (ручні моделі)
Використовуйте явну конфігурацію, коли:- vLLM працює на іншому хості або порту
- Ви хочете закріпити значення
contextWindowабоmaxTokens - Ваш сервер вимагає справжній ключ API (або ви хочете керувати заголовками)
- Ви підключаєтеся до довіреного loopback, LAN або Tailscale ендпоінта vLLM
Розширена конфігурація
Поведінка у стилі проксі
Поведінка у стилі проксі
vLLM розглядається як проксі-стиль OpenAI-сумісного бекенда
/v1, а не як нативний
ендпоінт OpenAI. Це означає:| Поведінка | Застосовується? |
|---|---|
| Нативне формування запитів OpenAI | Ні |
service_tier | Не надсилається |
Responses store | Не надсилається |
| Підказки prompt-cache | Не надсилаються |
| Формування payload для сумісності з reasoning OpenAI | Не застосовується |
| Приховані заголовки атрибуції OpenClaw | Не вставляються для кастомних базових URL |
Елементи керування мисленням Qwen
Елементи керування мисленням Qwen
Для моделей Qwen, що обслуговуються через vLLM, задайте
Рівні мислення, відмінні від
params.qwenThinkingFormat: "chat-template" у записі моделі, коли
сервер очікує Qwen chat-template kwargs. OpenClaw зіставляє /think off з:off, надсилають enable_thinking: true. Якщо ваш ендпоінт
натомість очікує прапорці верхнього рівня у стилі DashScope, використовуйте
params.qwenThinkingFormat: "top-level", щоб надсилати enable_thinking у корені
запиту. Snake-case params.qwen_thinking_format також приймається.Елементи керування мисленням Nemotron 3
Елементи керування мисленням Nemotron 3
vLLM/Nemotron 3 може використовувати chat-template kwargs, щоб керувати, чи reasoning
повертається як прихований reasoning або видимий текст відповіді. Коли сесія OpenClaw
використовує Щоб налаштувати ці значення, задайте
vllm/nemotron-3-* з вимкненим мисленням, вбудований vLLM plugin надсилає:chat_template_kwargs у параметрах моделі.
Якщо ви також задаєте params.extra_body.chat_template_kwargs, це значення має
остаточний пріоритет, тому що extra_body є останнім override тіла запиту.Виклики інструментів Qwen відображаються як текст
Виклики інструментів Qwen відображаються як текст
Спершу переконайтеся, що vLLM було запущено з правильним парсером викликів інструментів і chat
template для моделі. Наприклад, vLLM документує Замініть Ви можете застосувати той самий override з CLI:Це opt-in обхід сумісності. Він змушує кожен хід моделі з
інструментами вимагати виклик інструмента, тому використовуйте його лише для окремого локального запису моделі,
де така поведінка прийнятна. Не використовуйте його як глобальне значення за замовчуванням для всіх
моделей vLLM і не використовуйте проксі, який сліпо перетворює довільний
текст асистента на виконувані виклики інструментів.
hermes для моделей Qwen2.5
і qwen3_xml для моделей Qwen3-Coder.Симптоми:- skills або інструменти ніколи не запускаються
- асистент друкує сирий JSON/XML, наприклад
{"name":"read","arguments":...} - vLLM повертає порожній масив
tool_calls, коли OpenClaw надсилаєtool_choice: "auto"
tool_choice: "required". Для таких записів моделей примусово задайте
OpenAI-сумісне поле запиту через params.extra_body:Qwen-Qwen2.5-Coder-32B-Instruct точним id, повернутим командою:Кастомний базовий URL
Кастомний базовий URL
Якщо ваш сервер vLLM працює на нестандартному хості або порту, задайте
baseUrl у явній конфігурації провайдера:Усунення несправностей
Повільна перша відповідь або тайм-аут віддаленого сервера
Повільна перша відповідь або тайм-аут віддаленого сервера
Для великих локальних моделей, віддалених хостів LAN або tailnet-посилань задайте
тайм-аут запиту в межах провайдера:
timeoutSeconds застосовується лише до HTTP-запитів моделі vLLM, включно з
налаштуванням з’єднання, заголовками відповіді, потоковою передачею тіла та загальним
guarded-fetch abort. Віддавайте перевагу цьому перед збільшенням
agents.defaults.timeoutSeconds, яке керує всім запуском агента.Сервер недоступний
Сервер недоступний
Перевірте, що сервер vLLM запущений і доступний:Якщо ви бачите помилку з’єднання, перевірте хост, порт і те, що vLLM запущено в OpenAI-сумісному серверному режимі.
Для явних loopback, LAN або Tailscale ендпоінтів також задайте
models.providers.vllm.request.allowPrivateNetwork: true; запити провайдера
за замовчуванням блокують URL приватної мережі, якщо провайдер
не є явно довіреним.Помилки автентифікації в запитах
Помилки автентифікації в запитах
Якщо запити завершуються помилками автентифікації, задайте справжній
VLLM_API_KEY, який відповідає конфігурації вашого сервера, або явно налаштуйте провайдера в models.providers.vllm.Моделі не виявлено
Моделі не виявлено
Автоматичне виявлення потребує заданого
VLLM_API_KEY. Якщо ви визначили models.providers.vllm, OpenClaw використовує лише оголошені вами моделі, якщо agents.defaults.models не містить "vllm/*": {}.Інструменти відображаються як сирий текст
Інструменти відображаються як сирий текст
Якщо модель Qwen друкує JSON/XML-синтаксис інструментів замість виконання skill,
перегляньте настанови Qwen у розділі Розширена конфігурація вище. Звичайне виправлення:
- запустіть vLLM з правильним парсером/шаблоном для цієї моделі
- підтвердьте точний id моделі за допомогою
openclaw models list --provider vllm - додайте окремий для моделі override
params.extra_body.tool_choice: "required"лише якщоtool_choice: "auto"усе ще повертає порожні або лише текстові виклики інструментів
Пов’язане
Вибір моделі
Вибір провайдерів, посилань на моделі та поведінки failover.
OpenAI
Нативний провайдер OpenAI і поведінка OpenAI-сумісного маршруту.
OAuth і автентифікація
Подробиці автентифікації та правила повторного використання облікових даних.
Усунення несправностей
Поширені проблеми та способи їх вирішення.