openai-completions API’sini kullanarak vLLM’ye bağlanır.
OpenClaw ayrıca VLLM_API_KEY ile etkinleştirdiğinizde vLLM’deki kullanılabilir modelleri otomatik keşfedebilir (sunucunuz kimlik doğrulamayı zorunlu kılmıyorsa herhangi bir değer çalışır). Özel bir vLLM temel URL’si de yapılandırdığınızda keşfi dinamik tutmak için agents.defaults.models içinde vllm/* kullanın.
OpenClaw, vllm sağlayıcısını akışlı kullanım muhasebesini destekleyen yerel bir OpenAI uyumlu sağlayıcı olarak ele alır; böylece durum/bağlam token sayıları stream_options.include_usage yanıtlarından güncellenebilir.
| Özellik | Değer |
|---|---|
| Sağlayıcı kimliği | vllm |
| API | openai-completions (OpenAI uyumlu) |
| Kimlik doğrulama | VLLM_API_KEY ortam değişkeni |
| Varsayılan temel URL | http://127.0.0.1:8000/v1 |
Başlarken
Start vLLM with an OpenAI-compatible server
Temel URL’niz
/v1 uç noktalarını sunmalıdır (örn. /v1/models, /v1/chat/completions). vLLM genellikle şurada çalışır:Set the API key environment variable
Sunucunuz kimlik doğrulamayı zorunlu kılmıyorsa herhangi bir değer çalışır:
Model keşfi (örtük sağlayıcı)
VLLM_API_KEY ayarlandığında (veya bir kimlik doğrulama profili mevcut olduğunda) ve models.providers.vllm tanımlamadığınızda, OpenClaw şunu sorgular:
models.providers.vllm değerini açıkça ayarlarsanız OpenClaw varsayılan olarak bildirdiğiniz modelleri kullanır. OpenClaw’un yapılandırılmış sağlayıcının /models uç noktasını sorgulamasını ve ilan edilen tüm vLLM modellerini dahil etmesini istediğinizde agents.defaults.models içine "vllm/*": {} ekleyin.Açık yapılandırma (manuel modeller)
Şu durumlarda açık yapılandırma kullanın:- vLLM farklı bir ana makine veya bağlantı noktasında çalışıyorsa
contextWindowveyamaxTokensdeğerlerini sabitlemek istiyorsanız- Sunucunuz gerçek bir API anahtarı gerektiriyorsa (veya başlıkları kontrol etmek istiyorsanız)
- Güvenilir bir loopback, LAN veya Tailscale vLLM uç noktasına bağlanıyorsanız
Gelişmiş yapılandırma
Proxy-style behavior
Proxy-style behavior
vLLM, yerel bir OpenAI uç noktası değil, proxy tarzı OpenAI uyumlu bir
/v1 arka ucu olarak ele alınır. Bu şu anlama gelir:| Davranış | Uygulandı mı? |
|---|---|
| Yerel OpenAI istek biçimlendirmesi | Hayır |
service_tier | Gönderilmez |
Responses store | Gönderilmez |
| Prompt önbelleği ipuçları | Gönderilmez |
| OpenAI akıl yürütme uyumluluk yükü biçimlendirmesi | Uygulanmaz |
| Gizli OpenClaw atıf başlıkları | Özel temel URL’lere enjekte edilmez |
Qwen thinking controls
Qwen thinking controls
vLLM üzerinden sunulan Qwen modelleri için, sunucu Qwen sohbet şablonu kwargs beklediğinde yapılandırılmış sağlayıcı model satırında OpenClaw,
compat.thinkingFormat: "qwen-chat-template" ayarlayın. Bu şekilde yapılandırılan modeller ikili bir /think profili (off, on) sunar; çünkü Qwen şablon düşünmesi, OpenAI tarzı bir çaba kademesi değil, açık/kapalı istek bayrağıdır./think off değerini şuna eşler:off dışındaki düşünme düzeyleri enable_thinking: true gönderir. Uç noktanız bunun yerine DashScope tarzı üst düzey bayraklar bekliyorsa, istek kökünde enable_thinking göndermek için compat.thinkingFormat: "qwen" kullanın.Nemotron 3 thinking controls
Nemotron 3 thinking controls
vLLM/Nemotron 3, akıl yürütmenin gizli akıl yürütme olarak mı yoksa görünür yanıt metni olarak mı döndürüleceğini kontrol etmek için sohbet şablonu kwargs kullanabilir. Bir OpenClaw oturumu düşünme kapalıyken Bu değerleri özelleştirmek için model parametreleri altında
vllm/nemotron-3-* kullandığında, paketli vLLM Plugin’i şunu gönderir:chat_template_kwargs ayarlayın.
params.extra_body.chat_template_kwargs da ayarlarsanız, extra_body son
istek gövdesi geçersiz kılması olduğu için bu değer nihai önceliğe sahip olur.Qwen araç çağrıları metin olarak görünür
Qwen araç çağrıları metin olarak görünür
Önce vLLM’in model için doğru araç çağrısı ayrıştırıcısı ve sohbet
şablonuyla başlatıldığından emin olun. Örneğin vLLM, Qwen2.5 modelleri için
Aynı geçersiz kılmayı CLI üzerinden uygulayabilirsiniz:Bu, isteğe bağlı bir uyumluluk geçici çözümüdür. Araçları olan her model
turunun bir araç çağrısı gerektirmesini sağlar; bu yüzden yalnızca bu
davranışın kabul edilebilir olduğu özel bir yerel model girdisi için
kullanın. Bunu tüm vLLM modelleri için genel varsayılan olarak kullanmayın
ve rastgele asistan metnini körlemesine yürütülebilir araç çağrılarına
dönüştüren bir proxy kullanmayın.
hermes, Qwen3-Coder modelleri için qwen3_xml belgeler.Belirtiler:- Skills veya araçlar hiç çalışmaz
- asistan
{"name":"read","arguments":...}gibi ham JSON/XML yazdırır - OpenClaw
tool_choice: "auto"gönderdiğinde vLLM boş birtool_callsdizisi döndürür
tool_choice: "required" kullandığında döndürür. Bu model girdileri
için OpenAI uyumlu istek alanını params.extra_body ile zorunlu kılın:Qwen-Qwen2.5-Coder-32B-Instruct değerini şunun döndürdüğü tam kimlikle değiştirin:Özel temel URL
Özel temel URL
vLLM sunucunuz varsayılan olmayan bir ana makinede veya bağlantı noktasında çalışıyorsa açık sağlayıcı yapılandırmasında
baseUrl ayarlayın:Sorun Giderme
Yavaş ilk yanıt veya uzak sunucu zaman aşımı
Yavaş ilk yanıt veya uzak sunucu zaman aşımı
Büyük yerel modeller, uzak LAN ana makineleri veya tailnet bağlantıları için
sağlayıcı kapsamlı bir istek zaman aşımı ayarlayın:
timeoutSeconds, bağlantı kurulumu, yanıt başlıkları, gövde akışı ve toplam
korumalı fetch iptali dahil yalnızca vLLM modeli HTTP istekleri için
geçerlidir. Tüm agent çalışmasını denetleyen agents.defaults.timeoutSeconds
değerini artırmadan önce bunu tercih edin.Sunucuya ulaşılamıyor
Sunucuya ulaşılamıyor
vLLM sunucusunun çalıştığını ve erişilebilir olduğunu kontrol edin:Bir bağlantı hatası görürseniz ana makineyi, bağlantı noktasını ve vLLM’in OpenAI uyumlu sunucu moduyla başlatıldığını doğrulayın.
Açık local loopback, LAN veya Tailscale uç noktaları için OpenClaw,
korumalı model isteklerinde tam olarak yapılandırılmış
models.providers.vllm.baseUrl kaynağına güvenir. Metadata/link-local
kaynakları açık isteğe bağlı etkinleştirme olmadan engelli kalır.
models.providers.vllm.request.allowPrivateNetwork: true ayarını yalnızca
vLLM isteklerinin başka bir özel kaynağa ulaşması gerektiğinde belirleyin
ve tam kaynak güveninden çıkmak için false olarak ayarlayın.İsteklerde kimlik doğrulama hataları
İsteklerde kimlik doğrulama hataları
İstekler kimlik doğrulama hatalarıyla başarısız olursa sunucu yapılandırmanızla eşleşen gerçek bir
VLLM_API_KEY ayarlayın veya sağlayıcıyı models.providers.vllm altında açıkça yapılandırın.Hiç model bulunamadı
Hiç model bulunamadı
Otomatik keşif için
VLLM_API_KEY ayarlanmış olmalıdır. models.providers.vllm tanımladıysanız, agents.defaults.models "vllm/*": {} içermediği sürece OpenClaw yalnızca bildirdiğiniz modelleri kullanır.Araçlar ham metin olarak işleniyor
Araçlar ham metin olarak işleniyor
Bir Qwen modeli bir skill yürütmek yerine JSON/XML araç söz dizimi yazdırıyorsa
yukarıdaki Gelişmiş yapılandırma bölümündeki Qwen rehberliğini kontrol edin.
Olağan düzeltme şudur:
- vLLM’i ilgili model için doğru ayrıştırıcı/şablonla başlatın
- tam model kimliğini
openclaw models list --provider vllmile doğrulayın - yalnızca
tool_choice: "auto"hâlâ boş veya yalnızca metin içeren araç çağrıları döndürüyorsa özel bir model başınaparams.extra_body.tool_choice: "required"geçersiz kılması ekleyin
İlgili
Model seçimi
Sağlayıcıları, model referanslarını ve yük devretme davranışını seçme.
OpenAI
Yerel OpenAI sağlayıcısı ve OpenAI uyumlu yönlendirme davranışı.
OAuth ve kimlik doğrulama
Kimlik doğrulama ayrıntıları ve kimlik bilgisi yeniden kullanım kuralları.
Sorun giderme
Yaygın sorunlar ve bunların nasıl çözüleceği.