Skip to main content
vLLM надає моделі з відкритим кодом (і деякі користувацькі моделі) через HTTP API, сумісний з OpenAI. OpenClaw підключається за допомогою API openai-completions і може автоматично виявляти моделі, якщо ви погодитеся на це, задавши VLLM_API_KEY.

Початок роботи

1

Start vLLM with an OpenAI-compatible server

Ваша базова URL-адреса має надавати кінцеві точки /v1 (/v1/models, /v1/chat/completions). Зазвичай vLLM працює за адресою:
2

Set the API key environment variable

Якщо ваш сервер не вимагає автентифікації, підійде будь-яке непорожнє значення:
3

Select a model

Замініть значення на один з ідентифікаторів ваших моделей vLLM:
4

Verify the model is available

Для неінтерактивного налаштування (CI, сценаріїв) передайте базову URL-адресу, ключ і модель безпосередньо:

Виявлення моделей (неявний провайдер)

Коли задано VLLM_API_KEY (або існує профіль автентифікації), а models.providers.vllm не визначено, OpenClaw надсилає запит до GET http://127.0.0.1:8000/v1/models і перетворює отримані ідентифікатори на записи моделей.
Якщо ви явно задасте models.providers.vllm, OpenClaw використовуватиме лише оголошені вами моделі. Додайте "vllm/*": {} до agents.defaults.models, щоб OpenClaw також опитував кінцеву точку /models налаштованого провайдера й додавав усі оголошені моделі vLLM.

Явна конфігурація

Використовуйте явну конфігурацію, якщо vLLM працює на іншому хості або порту, потрібно зафіксувати contextWindow/maxTokens, сервер вимагає справжній ключ API або ви підключаєтеся до довіреної кінцевої точки loopback, LAN чи Tailscale:
Щоб провайдер залишався динамічним без переліку кожної моделі, додайте символ узагальнення до видимого каталогу моделей:

Розширена конфігурація

vLLM розглядається як сумісний з OpenAI серверний компонент /v1, що працює за принципом проксі, а не як нативна кінцева точка OpenAI:
Для моделей Qwen задайте compat.thinkingFormat: "qwen-chat-template" у записі моделі, коли сервер очікує аргументи шаблону чату Qwen. Ці моделі надають двійковий профіль /think (off, on), оскільки міркування шаблону чату Qwen — це прапорець увімкнення або вимкнення, а не градація зусиль у стилі OpenAI.
OpenClaw зіставляє /think off із:
Для рівнів міркування, відмінних від off, надсилається enable_thinking: true. Якщо ваша кінцева точка натомість очікує прапорці верхнього рівня в стилі DashScope, використовуйте compat.thinkingFormat: "qwen", щоб надсилати enable_thinking у корені запиту.
Для моделей vllm/nemotron-3-* із вимкненим міркуванням комплектний plugin надсилає:
Щоб налаштувати ці значення, задайте chat_template_kwargs у параметрах моделі. Якщо ви також задасте params.extra_body.chat_template_kwargs, це значення матиме пріоритет, оскільки extra_body є останнім перевизначенням тіла запиту.
Спочатку переконайтеся, що vLLM запущено з правильним аналізатором викликів інструментів і шаблоном чату для цієї моделі. У документації vLLM зазначено hermes для моделей Qwen2.5 і qwen3_xml для моделей Qwen3-Coder.Ознаки: Skills або інструменти ніколи не запускаються, асистент виводить необроблений JSON/XML на зразок {"name":"read","arguments":...} або vLLM повертає порожній масив tool_calls, коли OpenClaw надсилає tool_choice: "auto".Деякі комбінації Qwen/vLLM повертають структуровані виклики інструментів лише тоді, коли запит використовує tool_choice: "required". Примусово задайте це для окремої моделі за допомогою params.extra_body:
Замініть ідентифікатор моделі точним ідентифікатором із openclaw models list --provider vllm або застосуйте таке саме перевизначення через CLI:
Це обхідне рішення, яке потрібно явно ввімкнути: воно змушує кожен хід з інструментами виконувати виклик інструмента, тому використовуйте його лише для окремого запису моделі, де така поведінка прийнятна. Не задавайте його глобальним значенням за замовчуванням для всіх моделей vLLM і не поєднуйте з проксі, який перетворює довільний текст асистента на виконувані виклики інструментів.
Якщо сервер vLLM працює на нестандартному хості або порту, задайте baseUrl у явній конфігурації провайдера:

Усунення несправностей

Для великих локальних моделей, віддалених хостів LAN або з’єднань tailnet задайте тайм-аут запиту в межах провайдера:
timeoutSeconds застосовується лише до HTTP-запитів моделей vLLM: встановлення з’єднання, отримання заголовків відповіді, потокового передавання тіла та загального переривання захищеного запиту. Він також підвищує граничний час сторожового таймера бездіяльності або потоку LLM понад неявне значення за замовчуванням приблизно 120 секунд для цього провайдера. Віддавайте цьому перевагу перед збільшенням agents.defaults.timeoutSeconds, яке керує всім запуском агента.
Перевірте, що сервер vLLM запущений і доступний:
Якщо виникає помилка з’єднання, перевірте хост, порт і те, що vLLM запущено в режимі сервера, сумісного з OpenAI. OpenClaw довіряє точному джерелу налаштованої URL-адреси models.providers.vllm.baseUrl для захищених запитів моделей до кінцевих точок loopback, LAN і Tailscale. Джерела метаданих і link-local залишаються заблокованими без явної згоди. Задавайте models.providers.vllm.request.allowPrivateNetwork: true лише тоді, коли запити vLLM мають надходити до іншого приватного джерела, або false, щоб відмовитися від довіри до точного джерела.
Якщо запити завершуються помилками автентифікації, задайте справжній VLLM_API_KEY, що відповідає конфігурації вашого сервера, або явно налаштуйте провайдера в models.providers.vllm.
Якщо сервер vLLM не вимагає автентифікації, будь-яке непорожнє значення VLLM_API_KEY слугує для OpenClaw сигналом явної згоди.
Для автоматичного виявлення потрібно задати VLLM_API_KEY. Якщо ви визначили models.providers.vllm, OpenClaw використовує лише оголошені вами моделі, якщо agents.defaults.models не містить "vllm/*": {}.
Якщо модель Qwen виводить синтаксис інструментів JSON/XML замість виконання Skill:
  • Запустіть vLLM із правильним аналізатором і шаблоном для цієї моделі.
  • Перевірте точний ідентифікатор моделі за допомогою openclaw models list --provider vllm.
  • Додайте окреме перевизначення params.extra_body.tool_choice: "required" для конкретної моделі лише тоді, коли tool_choice: "auto" і далі повертає порожні або лише текстові виклики інструментів.

Пов’язані матеріали

Model selection

Вибір провайдерів, посилань на моделі та поведінки резервного перемикання.

OpenAI

Нативний провайдер OpenAI і поведінка маршрутів, сумісних з OpenAI.

OAuth and auth

Відомості про автентифікацію та правила повторного використання облікових даних.

Troubleshooting

Поширені проблеми та способи їх вирішення.