[特殊字符]vLLM本地部署Qwen2.5-VL多模态大模型!70亿参数即可打造监控视频目标查找项目!轻松实现监控视频自动找人!部署Qwen2.5-VL-7B-Instruct模型实战教

🚀🚀🚀本篇笔记所对应的视频 ​​​​​​本地部署Qwen2.5-VL多模态大模型!打造监控视频找人程序!_哔哩哔哩_bilibili

🚀简介:

Qwen2.5-VL 是由阿里云通义千问团队开发的最新一代多模态大型语言模型。它在视觉理解、文档处理和多模态交互方面取得了显著进展,具备以下主要特点:

  1. 更强大的视觉理解能力: Qwen2.5-VL 能够处理图像和视频等多模态输入,准确理解其中的内容和关系。它在物体检测、场景识别、图像描述等任务上表现出色,可以应用于智能安防、图像搜索、视频分析等领域。
  2. 高效的文档处理能力: Qwen2.5-VL 擅长处理各种类型的文档,包括扫描件、网页、PDF 等。它能够提取文档中的文字、表格、图片等信息,并进行结构化处理,方便用户进行信息检索、内容摘要和智能问答。
  3. 自然的多模态交互体验: Qwen2.5-VL 支持自然语言和视觉信息的混合输入,用户可以通过文字、语音或图像等方式与模型进行交互。它能够理解用户的意图,并生成相应的回复或执行相应的操作,实现人机协同和智能助手等应用。
  4. 广泛的应用前景: Qwen2.5-VL 在多个领域具有广泛的应用前景,例如:
    • 智能客服:通过理解用户的文字和图像输入,提供个性化的客户服务。
    • 教育:辅助教师进行课件制作、作业批改和学生辅导。
    • 金融:处理财务报表、分析市场趋势、辅助投资决策。
    • 医疗:辅助医生进行病理分析、诊断和治疗方案制定。
    • 零售:优化商品推荐、提升用户购物体验。

✅国外下载:https://huggingface.co/Qwen/Qwen2.5-VL-7B-Instruct

✅国内下载:魔搭社区

🚀本地部署

# 创建环境
conda create -n myenv python=3.11 -y

# 激活环境 (注意这里的语法)
conda activate myenv   # 或 source activate myenv (在某些系统上)

# 安装依赖
pip install vllm
pip install git+https://github.com/huggingface/transformers
pip install torch

# 或 pip install git+https://github.com/huggingface/transformers 

# 启动服务
vllm serve Qwen/Qwen2.5-VL-7B-Instruct --limit-mm-per-prompt image=4

🚀测试代码

#pip install openai

from openai import OpenAI

# 正确初始化 OpenAI 客户端
client = OpenAI(
    base_url="<http://64.247.196.79:8000/v1>",
    api_key="test"
)

response = client.chat.completions.create(
  model="Qwen/Qwen2.5-VL-7B-Instruct",
  messages=[
    {
      "role": "user",
      "content": [
        {"type": "text", "text": "What's in this image?"},
        {
          "type": "image_url",
          "image_url": {
            "url": "<https://s3.amazonaws.com/cms.ipressroom.com/338/files/201808/5b894ee1a138352221103195_A680%7Ejogging-edit/A680%7Ejogging-edit_hero.jpg>",
          },
        },
      ],
    }
  ],
  max_tokens=1024,
)

print(response.choices[0].message.content)

import base64
from openai import OpenAI

def encode_image(image_path):
    with open(image_path, "rb") as image_file:
        return base64.b64encode(image_file.read()).decode('utf-8')

# 初始化 OpenAI 客户端
client = OpenAI(
    base_url="<http://64.247.196.79:8000/v1>",
    api_key="test"
)

# 本地图片路径
image_path = "./dog.jpg"

# 编码图片
base64_image = encode_image(image_path)

response = client.chat.completions.create(
  model="Qwen/Qwen2.5-VL-7B-Instruct",
  messages=[
    {
      "role": "user",
      "content": [
        {"type": "text", "text": "What's in this image?"},
        {
          "type": "image_url",
          "image_url": {
            "url": f"data:image/jpeg;base64,{base64_image}",
          },
        },
      ],
    }
  ],
  max_tokens=1024,
)

print(response.choices[0])

🚀视频目标检测代码

main.py

#安装依赖 pip install fastapi uvicorn python-multipart jinja2 opencv-python openai aiofiles

# main.py
from fastapi import FastAPI, UploadFile, File, Form, Request
from fastapi.templating import Jinja2Templates
from fastapi.staticfiles import StaticFiles
from fastapi.responses import JSONResponse, StreamingResponse
import shutil
import os
import cv2
from openai import OpenAI
import time
from pathlib import Path
import asyncio
import json
import base64

app = FastAPI()

# 创建必要的目录
UPLOAD_DIR = Path("uploads")
FRAMES_DIR = Path("frames")
UPLOAD_DIR.mkdir(exist_ok=True)
FRAMES_DIR.mkdir(exist_ok=True)

# 初始化 OpenAI 客户端
client = OpenAI(
    base_url="<http://192.168.1.105:8000/v1>",
    api_key="test"
)

# 设置模板和上传/帧目录的静态文件服务
templates = Jinja2Templates(directory="templates")
app.mount("/uploads", StaticFiles(directory="uploads"), name="uploads")
app.mount("/frames", StaticFiles(directory="frames"), name="frames")

def encode_image(image_path):
    """将图片转换为base64编码"""
    with open(image_path, &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值