使用说明
本地Qwen 2.5与DeepSeek OCR(vLLM和MCP)
LangGraph ReAct Agent支持本地/远程vLLM(Qwen 2.5)和云API,与DeepSeek OCR集成作为远程MCP服务器。
🚀 快速入门指南
1.安装
首先,克隆存储库并在本地计算机(客户端)上安装依赖项。
git clone <repository_url>
cd multimodal
uv sync
2.后端设置(远程GPU服务器)
你需要 两台设备 (或在一个功能强大的设备上运行单独的进程)来运行模型。
设备A:运行主LLM(Qwen 2.5)
在GPU服务器上运行以下命令,为Qwen模型提供工具调用支持:
vllm serve Qwen/Qwen2.5-14B-Instruct-AWQ \
--dtype auto \
--trust-remote-code \
--port 8000 \
--enable-auto-tool-choice \
--tool-call-parser hermes \
--quantization awq
设备B:运行DeepSeek OCR
DeepSeek OCR是一种专门的工具。您需要在此设备上启动模型和MCP服务器包装器。
-
确保
src/deepseek_ocr此设备上存在。 -
启动OCR的vLLM服务器:
vllm serve deepseek-ai/DeepSeek-OCR \ --logits-processors vllm.model_executor.models.deepseek_ocr:NGramPerReqLogitsProcessor \ --no-enable-prefix-caching \ --mm-processor-cache-gb 0 -
启动OCR MCP服务器:
这将DeepSeek OCR模型包装为代理可以调用的MCP服务器。
# Run this in the project root on Device B uv run src/deepseek_ocr/server.py --port 3002
3.客户端配置
回到您的本地计算机(您克隆仓库的地方):
- 更新
models_config.json:设置base_url“Qwen 2.5”指向设备A的IP地址(例如。,http://<device_a_ip>:8000/v1). - 更新
mcp_config.json:设置url为了使“DeepSeekOCR”指向设备B的MCP服务器(例如。,http://<device_b_ip>:3002/mcp).
4.运行代理
现在,您可以在本地计算机上启动代理。
# Interactive model selection
python vllm_agent.py
# Specify model directly
python vllm_agent.py --model vllm/qwen2.5-14b-instruct-awq
# Skip self-check
python vllm_agent.py --no-self-check
📁 项目结构
multimodal/
├── models_config.json # Model configuration (vLLM + API)
├── mcp_config.json # MCP server configuration
├── llm_manager.py # LLM Manager
├── mcp_manager.py # MCP Client Manager
├── vllm_agent.py # Main Agent Program ⭐
└── AGENT_SETUP.md # Full Technical Documentation
🎯 特性
- ✅ 远程vLLM部署支持(Qwen 2.5)
- ✅ 通过MCP实现远程DeepSeek OCR集成
- ✅ 多个云API提供商支持
- ✅ 自动对话历史管理
- ✅ 容错设计
- ✅ 交互式模型选择
