vLLM代码推理Qwen2-VL多模态

由于近期代码微调以及测试都是在远程服务器上,因此LLamafactory-cli webui 以及vLLM的ui均无法使用,因此不断寻求解决方案,我提供一个解决方案,LLamafactory微调完成的模型需要合并为一个完整模型后再使用vLLM进行代码推理测试微调模型的结果。

由于chat启动的终端互动模式均无法上传图像进行交互,因此需要代码或者参数来上传图像进行理解。

Vision Language --- vLLM

这个链接里有vLLM支持的多模态大模型不同的函数对prompt的处理

我在这里提供一个使用vLLM对Qwen2-VL的多模态图像理解的python代码

python 复制代码
from vllm import LLM, SamplingParams
from PIL import Image

def run_qwen2_vl(questions: str, image_path: str):
    # 模型初始化配置
    llm = LLM(
        model="Qwen/Qwen2-VL-Lora_Sft",
        max_model_len=4096,
        max_num_seqs=5,
        dtype="half"
    )

    # 多模态数据加载
    image = Image.open(image_path)
    question = "What is the content of this image?"
    # 提示词构造
    prompt_template = [(
        "<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n"
        "<|im_start|>user\n<|vision_start|><|image_pad|><|vision_end|>"
        f"{question}<|im_end|>\n"
        "<|im_start|>assistant\n") for question in questions]
    print(prompt_template[0])
    sampling_params = SamplingParams(
        max_tokens=1024,
        temperature=0.8,
        top_p=0.95,
        frequency_penalty=0.2,
        presence_penalty=0.3,
        stop=["<|im_end|>"]
    )
    # 生成请求
    outputs = llm.generate({
    "prompt": prompt_template[0],
    "multi_modal_data": {"image": image},
    }, sampling_params=sampling_params)

    # 结果解析
    return [output.outputs[0].text for output in outputs]

# 使用示例
if __name__ == "__main__":
    response = run_qwen2_vl(
        questions=["请使用中文描述下这个图像并给出中文诊断结果"],
        image_path="aaaa.jpg"
    )
    print("模型输出:", response[0])
相关推荐
羑悻的小杀马特几秒前
LangChain实战:工具调用+结构化输出,让AI从“聊天“变“干活“
android·人工智能·langchain
AI技术分享1 分钟前
连着搞了三天OpenClaw,我顿悟了,这玩意自带逆袭光环!
人工智能·ai·chatgpt·ai编程
AI人工智能+2 分钟前
融合计算机视觉与自然语言处理的特种行业许可证识别技术,解决传统人工录入的效率瓶颈
人工智能·计算机视觉·自然语言处理
智能工业品检测-奇妙智能2 分钟前
springboot对接阿里云短信
人工智能·vue·springboot·阿里云短信
人工智能AI技术2 分钟前
Oracle裁员3万人的警钟:C#程序员如何构建AI工具链反杀,从“被替代“到“驾驭AI“
人工智能·c#
青稞社区.4 分钟前
ROLL 团队分享:面向多轮交互 Agentic 场景的 Rollback 课程学习机制探索与实践
人工智能·经验分享·学习·交互
Dev7z5 分钟前
原创论文:基于卷积神经网络和递归神经网络的PE恶意文件检测识别
人工智能·神经网络·cnn·pe恶意文件
Web极客码5 分钟前
你的新同事已上线:OpenClaw 揭示的智能体(Agent)未来
人工智能
马士兵教育7 分钟前
程序员空窗期如何解决?
人工智能·面试·职场和发展
七夜zippoe9 分钟前
智能会议新纪元:JiuwenClaw AI会议管理系统全方位实战
人工智能·技能·skills·openjiuwen·记忆系统·jiuwenclaw