Ce face Serverul compatibil OpenAI (endpoint-uri)
Serverul pornit cu vllm serve implementează: Completions (/v1/completions, doar modele de generare de text, fără parametrul suffix), Chat Completions (/v1/chat/completions, cere chat template; user este ignorat), Chat Completions batch (/v1/chat/completions/batch), Responses (/v1/responses, /v1/responses/{response_id}, /v1/responses/{response_id}/cancel), Embeddings (/v1/embeddings, modele de embedding), Transcriptions și Translations (/v1/audio/transcriptions, /v1/audio/translations, modele ASR). Lista modelelor este la /v1/models.
Parametrii vLLM care nu există în API-ul OpenAI (de exemplu top_k sau structured_outputs) se trimit prin extra_body în clientul OpenAI sau direct în JSON. Antetul X-Request-Id în răspunsuri se activează cu --enable-request-id-headers. Apelurile de unelte cer --enable-auto-tool-choice și --tool-call-parser.
Cheia se setează cu --api-key sau VLLM_API_KEY. Ea autentifică doar căile /v1, /v2 și /inference; /invocations, care expune aceleași capacități ca /v1, rămâne neautentificat.
Sintaxă și opțiuni
| Opțiune / Parametru | Descriere |
|---|---|
/v1/models |
Lista modelelor servite (inclusiv adaptoarele LoRA). |
/v1/completions |
Completare de text. |
/v1/chat/completions |
Chat; acceptă streaming, unelte și conținut multimodal. |
/v1/chat/completions/batch |
Mai multe conversații într-o cerere. |
/v1/responses |
Responses API. |
/v1/embeddings |
Embeddings. |
/v1/audio/transcriptions, /v1/audio/translations |
Transcriere și traducere audio (modele ASR). |
extra_body |
Parametri vLLM suplimentari, de exemplu {"top_k": 50}. |
Exemple practice
Exemplul 1: Pornirea serverului cu cheie
vllm serve NousResearch/Meta-Llama-3-8B-Instruct \
--dtype auto \
--api-key token-abc123
Exemplul 2: Client Python OpenAI
from openai import OpenAI
client = OpenAI(
base_url="http://localhost:8000/v1",
api_key="token-abc123",
)
completion = client.chat.completions.create(
model="NousResearch/Meta-Llama-3-8B-Instruct",
messages=[
{"role": "user", "content": "Hello!"},
],
)
print(completion.choices[0].message)
Exemplul 3: Completions cu curl
Din Quickstart, cu serverul pornit pentru Qwen/Qwen2.5-1.5B-Instruct.
curl http://localhost:8000/v1/completions \
-H "Content-Type: application/json" \
-d '{
"model": "Qwen/Qwen2.5-1.5B-Instruct",
"prompt": "San Francisco is a",
"max_tokens": 7,
"temperature": 0
}'
Greșeli frecvente și bune practici
- Trimiți parametri vLLM (de exemplu
top_k) ca argumente directe ale clientului OpenAI; foloseșteextra_body. - Apelezi
/v1/chat/completionspentru un model fără chat template. Fie dai--chat-template, fie folosești/v1/completions. - Consideri serverul securizat doar prin
--api-key; pune-l în spatele unui reverse proxy.
Întrebări & Exemple practice:
Serverul compatibil OpenAI (endpoint-uri)Ai o întrebare despre Serverul compatibil OpenAI (endpoint-uri) sau ai descoperit un truc, prompt sau fragment de cod util? Distribuie-l cu ceilalți membri ai comunității!
Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau resurse pentru această pagină. Dacă ai testat un prompt sau ai un snippet util, adaugă-l mai jos pentru comunitate.