版本:0.7.2
注意事項:
export LD_LIBRARY_PATH=/home/xxxxx/anaconda3/envs/xxxxx/lib/python3.10/site-packages/nvidia/nvjitlink/lib:$LD_LIBRARY_PATH # 如果報錯可能需要Also pip install --force-reinstall git+https://github.com/huggingface/transformers.git@9985d06add07a4cc691dc54a7e34f54205c04d40 # 需要安裝特定版本的transformer
服務端
PYTORCH_CUDA_ALLOC_CONF=expandable_segments:True python -m vllm.entrypoints.openai.api_server \--model hf_models/Qwen/Qwen2.5-VL-72B-Instruct-AWQ \--tensor-parallel-size 4 \--gpu-memory-utilization 0.8 \--max-model-len 8192 \--quantization awq \--dtype float16 \--enforce-eager \--trust-remote-code \--host 0.0.0.0 \--port 8678 \
--api-key olllllama
客戶端
import base64
from openai import OpenAIuse_vision = True if use_vision:# 讀取圖片文件并轉換為base64with open("./vision_test_50x50_enlarged.png", "rb") as image_file:base64_image = base64.b64encode(image_file.read()).decode('utf-8')messages = [{"role": "user","content": [{"type": "text","text": "這圖片里面有什么?"},{"type": "image_url","image_url": {"url": f"data:image/png;base64,{base64_image}"}}]}]
else:messages = [{"role": "user", "content": "你是誰"}]client = OpenAI(base_url="http://localhost:8678/v1",api_key="olllllama",
)completion = client.chat.completions.create(model="hf_models/Qwen/Qwen2.5-VL-72B-Instruct-AWQ",messages=messages
)print('='*40)
print(completion.choices[0].message.content)
print('='*40)
print(completion.choices[0].message)
print('='*40)
輸出
========================================
這張圖片展示了一個簡單的圖形設計。圖片的背景是白色的,中間有一條黑色的十字線,將圖片分成四個相等的部分。在每個部分的中心位置,分別有一個不同顏色的小正方形:- 左上角是一個紅色的正方形。
- 右上角是一個綠色的正方形。
- 左下角是一個藍色的正方形。
- 右下角是一個灰色的正方形。這些正方形看起來是對稱放置的,整個設計簡潔明了。
========================================
ChatCompletionMessage(content='這張圖片展示了一個簡單的圖形設計。圖片的背景是白色的,中間有一條黑色的十字線,將圖片分成四個相等的部分。在每個部分的中心位置,分別有一個不同顏色的小正方形:\n\n- 左上角是一個紅色的正方形。\n- 右上角是一個綠色的正方形。\n- 左下角是一個藍色的正方形。\n- 右下角是一個灰色的正方形。\n\n這些正方形看起來是對稱放置的,整個設計簡潔明了。', refusal=None, role='assistant', audio=None, function_call=None, tool_calls=[], reasoning_content=None)
========================================