# Proj_Qwen2.5VL-Vision-chat **Repository Path**: BigYellow12138/Proj_Qwen2.5VL-Vision-chat ## Basic Information - **Project Name**: Proj_Qwen2.5VL-Vision-chat - **Description**: 基于硅基流动的qwen2.5-vl的对话测试demo,集成了普通的文字对话和图片对话功能,编写了专门的api接口,用于测试qwen2.5-vl大模型的精确定位能力。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-06 - **Last Updated**: 2025-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Qwen2-VL 对话Demo 基于SiliconFlow API的Qwen2-VL-72B-Instruct模型对话演示应用,支持文本对话和图片识别功能。 ## 功能特性 - 💬 **文本对话**: 支持多轮对话,保持上下文记忆 - 🖼️ **图片识别**: 支持上传图片进行视觉理解和分析 - 🔍 **多面体检测**: 专门的多面体检测功能,输出精确坐标和自动标注 - ⚙️ **系统配置**: 可配置模型参数、系统提示词和界面设置 - 🎨 **现代UI**: 响应式设计,支持移动端 - 🔒 **安全配置**: 使用环境变量管理API密钥 - ⚡ **实时交互**: 流畅的对话体验 ## 技术栈 - **后端**: Python + Flask - **前端**: 原生HTML/CSS/JavaScript - **API**: SiliconFlow Chat Completions API - **模型**: Qwen/Qwen2-VL-72B-Instruct ## 快速开始 ### 1. 安装依赖 ```bash pip install -r requirements.txt ``` ### 2. 配置环境变量 复制 `.env.example` 文件,重命名为 `.env` ,填入SiliconFlow API密钥: ```env SILICONFLOW_API_KEY=your_actual_api_key_here ``` ### 3. 启动应用 ```bash # 使用启动脚本(推荐) python run.py # 或直接运行Flask应用 python app.py ``` ### 4. 访问应用 打开浏览器访问: http://localhost:3000 ### 5. 系统配置 点击聊天界面右上角的⚙️按钮进入系统配置页面,可以设置: - **模型参数**: Temperature、Max Tokens - **系统提示词**: 预设或自定义系统提示词 - **界面设置**: 聊天标题、欢迎消息 ### 6. 多面体检测功能 通过配置系统提示词来启用多面体检测功能: 1. 点击⚙️按钮进入系统配置页面 2. 在系统提示词中选择"多面体检测"预设 3. 保存配置后返回聊天界面 4. 上传包含多面体的图片并发送 5. 如果AI检测到多面体并返回坐标,系统会自动生成标注图片 功能特点: - **智能检测**: 基于系统提示词自动识别多面体检测模式 - **精确定位**: 检测图片中的立方体、棱锥、棱柱等多面体 - **坐标解析**: 自动解析AI响应中的JSON格式坐标 - **自动标注**: 在原图上用红色边界框标出检测结果 - **参数控制**: 支持图像尺寸参数调整以优化检测效果 详细说明请参考: [多面体检测功能说明](POLYHEDRON_DETECTION.md) ## API接口 ### 文本对话 - **端点**: `POST /api/chat` - **参数**: - `message`: 用户消息 - `history`: 对话历史(可选) - `config`: 配置参数(可选) ### 图片+文本对话 - **端点**: `POST /api/chat-with-image` - **参数**: - `message`: 用户消息(可选) - `image`: 图片文件 - `history`: 对话历史(可选) - `config`: 配置参数(可选) ### 多面体检测 - **端点**: `POST /api/detect-polyhedron` - **参数**: - `image`: 图片文件 - `config`: 配置参数(可选) - `min_pixels`: 最小像素数(可选) - `max_pixels`: 最大像素数(可选) - `resized_height`: 固定高度(可选) - `resized_width`: 固定宽度(可选) ### 获取预设提示词 - **端点**: `GET /api/prompts` - **说明**: 获取所有预设提示词配置 ### 配置页面 - **端点**: `GET /config` - **说明**: 系统配置页面 ## 支持的图片格式 - JPEG (.jpg, .jpeg) - PNG (.png) - GIF (.gif) - WebP (.webp) - 文件大小限制: 10MB ## 项目结构 ``` qwen2.5-vl-test/ ├── app.py # Flask服务器主文件 ├── run.py # 启动脚本 ├── prompts.py # 提示词配置文件 ├── requirements.txt # Python依赖 ├── .env # 环境变量 ├── README.md # 说明文档 ├── public/ # 静态文件 │ ├── index.html # 主聊天页面 │ └── config.html # 系统配置页面 ├── uploads/ # 临时文件目录(自动创建) ├── POLYHEDRON_DETECTION.md # 多面体检测功能说明 └── cleanup.py # 清理脚本 ``` ## 注意事项 1. 请确保您有有效的SiliconFlow API密钥 2. 图片文件会在处理后自动删除 3. 对话历史会自动限制在最近20轮以控制token使用 4. 建议在生产环境中添加更多安全措施 ## 获取API密钥 1. 访问 [SiliconFlow官网](https://siliconflow.cn) 2. 注册并登录账户 3. 在控制台中创建API密钥 4. 将密钥填入`.env`文件 ## 许可证 MIT License