根据LLaMA-Factory多模态数据处理规范,配置图片输入需注意以下核心要点:
**一、本地图片路径配置**
- 绝对路径配置:
```json
"images": ["/home/user/project/data/mllm_demo_data/1.jpg"]
```
*适用场景*:跨平台或数据存储位置固定的场景
- 相对路径配置:
```json
"images": ["data/mllm_demo_data/1.jpg"]
```
*注意*:相对路径基准为项目根目录或配置文件所在目录(需根据LLaMA-Factory版本确认)
**二、数据集文件结构**
- 目录树示例:
```
LLaMA-Factory/
├── data/
│ ├── mllm_demo.json # 数据集定义文件
│ └── mllm_demo_data/ # 图片存储目录
│ ├── 1.jpg
│ ├── 2.jpg
│ └── 3.jpg
```
- 数据文件格式(网页3):
```json
{ "messages": \[ {"role": "user", "content": "描述这张电路图"}, {"role": "assistant", "content": "这是由电阻R1、电容C2和运放U3组成的低通滤波电路..."} \], "images": \["data/mllm_demo_data/circuit_001.jpg"
}
]
```
**三、关键配置验证**
- dataset_info.json校验:
```json
"circuit_sum_data": {
"file_name": "circuit_sum_data.json", // 实际数据文件名
"formatting": "sharegpt",
"columns": {
"messages": "messages", // 必须与数据文件字段名一致
"images": "images" // 必须包含图片路径数组
},
"tags": {
"role_tag": "role", // 角色字段映射
"content_tag": "content" // 内容字段映射
}
}
```
- 路径兼容性检查:
• Windows系统需使用双反斜杠:`"images": ["data\\mllm_demo_data\\1.jpg"]`
• 中文路径需确保文件编码为UTF-8
**四、调试建议**
- 启动测试命令:
```bash
CUDA_VISIBLE_DEVICES=0 llamafactory-cli webchat examples/inference/llava1_5.yaml
```
*验证点*:上传图片后观察控制台是否输出`Loaded image from [路径] successfully`
- 错误排查:
• 路径错误:`FileNotFoundError: No such file or directory`
• 格式错误:`ValueError: Invalid image path format`
• 编码错误:`UnicodeDecodeError`
操作提示:建议首次使用时复制官方示例数据集(网页2的`data/mllm_demo`)进行结构验证,再逐步替换为自己的数据和图片。若需批量处理图片,可使用Python脚本自动生成路径列表:
```python
import glob
images = glob.glob("data/mllm_demo_data/*.jpg") # 自动抓取目录下所有jpg文件
```