GitHub 多模态大模型项目复现流程
1. 环境配置
建议在云端 GPU 实例上进行环境配置。选择基础镜像(如 miniconda),版本建议为 Python 3.10。
1.1 克隆代码
使用以下命令克隆仓库并初始化子模块:
git clone --recurse-submodules https://github.com/EvolvingLMMs-Lab/multimodal-search-r1.git
cd multimodal-search-r1
注意:--recurse-submodules 参数确保下载所有依赖的子仓库代码。
1.2 Conda 环境初始化
创建独立 Python 环境:
conda create -n mmsearch_r1 python==3.10 -y
conda activate mmsearch_r1
若遇到 CommandNotFound 错误,需先初始化 conda 脚本:
conda init bash
source ~/.bashrc
conda activate mmsearch_r1
1.3 安装依赖
安装核心库及可编辑模式下的本地包:
pip3 install -e ./verl
pip3 install vllm==0.8.2
pip3 install transformers==4.51.0
pip3 install flash-attn==2.7.4.post1
pip3 install wandb
export WANDB_API_KEY="YOUR_API_KEY"
wandb login $WANDB_API_KEY
常见问题处理:
- flash-attn 编译问题:源码编译复杂,建议直接下载对应 CUDA 版本的预编译 wheel 文件安装。
- 网络问题:若无法访问 HuggingFace,请配置镜像源或代理。
2. 核心功能:多模态搜索工具
项目定义了两种搜索工具,需在 mmsearch_r1/utils/tools/ 目录下构建自己的管道。
- 图片搜索工具 (Image Search Tool):基于 SerpAPI,查找视觉上相似的网页并返回缩略图和标题。
- 文本搜索工具 (Text Search Tool):结合 SerpAPI、JINA Reader 和语言模型。流程包括:SerpAPI 获取链接 -> JINA Reader 提取正文 -> 语言模型生成摘要。
注意:项目本身不提供带密钥的工具,需自行申请 SerpAPI 密钥并修改 image_search.py 和 text_search.py。
3. 数据构建
训练和验证数据需遵循 veRL 定义的格式。项目提供了示例数据集,位于 mmsearch_r1/data 目录下。数据内容通常为'问题 - 答案'对,其中答案可能包含通过搜索获得的信息。
4. 模型下载
下载模型前需完成 Hugging Face 账号认证。
- 在 Hugging Face 设置中获取具有
read权限的 Access Token。 - 在终端执行 并输入 Token。

