Przejdź do głównej treści

vLLM

vLLM może udostępniać modele open source (oraz niektóre niestandardowe) przez API HTTP zgodne z OpenAI. OpenClaw łączy się z vLLM przy użyciu API openai-completions. OpenClaw może także automatycznie wykrywać dostępne modele z vLLM, gdy jawnie to włączysz przez VLLM_API_KEY (dowolna wartość działa, jeśli Twój serwer nie wymusza auth) i nie zdefiniujesz jawnego wpisu models.providers.vllm.
WłaściwośćWartość
ID dostawcyvllm
APIopenai-completions (zgodne z OpenAI)
Authzmienna środowiskowa VLLM_API_KEY
Domyślny bazowy URLhttp://127.0.0.1:8000/v1

Pierwsze kroki

1

Uruchom vLLM z serwerem zgodnym z OpenAI

Twój bazowy URL powinien udostępniać endpointy /v1 (np. /v1/models, /v1/chat/completions). vLLM często działa pod adresem:
http://127.0.0.1:8000/v1
2

Ustaw zmienną środowiskową klucza API

Dowolna wartość działa, jeśli Twój serwer nie wymusza auth:
export VLLM_API_KEY="vllm-local"
3

Wybierz model

Zastąp jedną z wartości identyfikatorem modelu z vLLM:
{
  agents: {
    defaults: {
      model: { primary: "vllm/your-model-id" },
    },
  },
}
4

Sprawdź, czy model jest dostępny

openclaw models list --provider vllm

Wykrywanie modeli (niejawny dostawca)

Gdy VLLM_API_KEY jest ustawione (albo istnieje profil auth) i nie zdefiniujesz models.providers.vllm, OpenClaw wykonuje zapytanie:
GET http://127.0.0.1:8000/v1/models
i przekształca zwrócone identyfikatory w wpisy modeli.
Jeśli jawnie ustawisz models.providers.vllm, automatyczne wykrywanie zostanie pominięte i musisz ręcznie zdefiniować modele.

Jawna konfiguracja (modele ręczne)

Użyj jawnej konfiguracji, gdy:
  • vLLM działa na innym hoście lub porcie
  • Chcesz przypiąć wartości contextWindow lub maxTokens
  • Twój serwer wymaga prawdziwego klucza API (albo chcesz kontrolować nagłówki)
{
  models: {
    providers: {
      vllm: {
        baseUrl: "http://127.0.0.1:8000/v1",
        apiKey: "${VLLM_API_KEY}",
        api: "openai-completions",
        models: [
          {
            id: "your-model-id",
            name: "Lokalny model vLLM",
            reasoning: false,
            input: ["text"],
            cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 },
            contextWindow: 128000,
            maxTokens: 8192,
          },
        ],
      },
    },
  },
}

Uwagi zaawansowane

vLLM jest traktowany jako backend /v1 zgodny z OpenAI w stylu proxy, a nie natywny endpoint OpenAI. Oznacza to, że:
ZachowanieStosowane?
Natywne kształtowanie żądań OpenAINie
service_tierNie jest wysyłane
store w ResponsesNie jest wysyłane
Wskazówki prompt-cacheNie są wysyłane
Kształtowanie payloadów zgodności reasoning OpenAINie jest stosowane
Ukryte nagłówki atrybucji OpenClawNie są wstrzykiwane przy niestandardowych bazowych URL-ach
Jeśli Twój serwer vLLM działa na niestandardowym hoście lub porcie, ustaw baseUrl w jawnej konfiguracji dostawcy:
{
  models: {
    providers: {
      vllm: {
        baseUrl: "http://192.168.1.50:9000/v1",
        apiKey: "${VLLM_API_KEY}",
        api: "openai-completions",
        models: [
          {
            id: "my-custom-model",
            name: "Zdalny model vLLM",
            reasoning: false,
            input: ["text"],
            contextWindow: 64000,
            maxTokens: 4096,
          },
        ],
      },
    },
  },
}

Rozwiązywanie problemów

Sprawdź, czy serwer vLLM działa i jest dostępny:
curl http://127.0.0.1:8000/v1/models
Jeśli widzisz błąd połączenia, sprawdź host, port oraz czy vLLM uruchomiono w trybie serwera zgodnego z OpenAI.
Jeśli żądania kończą się błędami auth, ustaw prawdziwe VLLM_API_KEY, które odpowiada konfiguracji serwera, albo skonfiguruj dostawcę jawnie pod models.providers.vllm.
Jeśli Twój serwer vLLM nie wymusza auth, dowolna niepusta wartość VLLM_API_KEY działa jako sygnał jawnego włączenia dla OpenClaw.
Automatyczne wykrywanie wymaga, aby VLLM_API_KEY było ustawione oraz żeby nie istniał jawny wpis konfiguracji models.providers.vllm. Jeśli dostawcę zdefiniowano ręcznie, OpenClaw pomija wykrywanie i używa tylko zadeklarowanych modeli.
Więcej pomocy: Rozwiązywanie problemów i FAQ.

Powiązane

Wybór modelu

Wybór dostawców, odwołań do modeli i zachowania failover.

OpenAI

Natywny dostawca OpenAI i zachowanie tras zgodnych z OpenAI.

OAuth i auth

Szczegóły auth i zasady ponownego użycia poświadczeń.

Rozwiązywanie problemów

Typowe problemy i sposoby ich rozwiązania.