版本: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)
========================================
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐