vLLM
vllm-project/vllm: A high-throughput and memory-efficient inference and serving engine for LLMs
Welcome to vLLM! — vLLM
Ollama vs VLLM: Which Tool Handles AI Models Better? | by Naman Tripathi | Medium
ollama がローカルで動かしやすいラッパーだとすれば vLLM はサーブしやすくするためのもの
Docker Image
公式のやつ、OpenAI API Compatible なサーバーを立てるもの、2024/9/17 のところ他はない
vllm/vllm-openai Tags | Docker Hub
参考 Dockerfile
code:Dockerfile
FROM vllm/vllm-openai:latest
ENV HF_HOME=/model-cache
RUN --mount=type=secret,id=HF_TOKEN HF_TOKEN=$(cat /run/secrets/HF_TOKEN) \
huggingface-cli download google/gemma-2-2b-it
ENV HF_HUB_OFFLINE=1
ENTRYPOINT python3 -m vllm.entrypoints.openai.api_server \
--port ${PORT:-8000} \
--model ${MODEL_NAME:-google/gemma-2-2b-it} \
${MAX_MODEL_LEN:+--max-model-len "$MAX_MODEL_LEN"}
from vLLM と OpenAI Python SDK を使用して Cloud Run GPU で LLM 推論を実行する方法
(この手順の SECRET_TOKEN 環境変数に渡してるの意味なくね?)
generate
llm.generate の返り値は list[RequestOutput]
vllm/vllm/outputs.py at main · vllm-project/vllm
RequestOutputs#outputs は list[CompletionOutput]、これに .text とかが生えている
CompletionOutput は dataclass
multimodal_data
Paligemma Example — vLLM
code:multimodal.py
llm.generate({
"prompt": prompt,
"multi_modal_data": {
"image": image # PII.Image.Image インスタンス
},
})
OpenAI 互換サーバーでどう渡す? url 渡して fetch してくれる?
OpenAI Vision API Client — vLLM