版本: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 OpenAI
use_vision = True
if use_vision:
# 读取图片文件并转换为base64
with 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)
========================================