GLM Batch Prompt 是一个基于智谱AI的GLM-4V模型的批量图像描述生成工具。该工具可以并发处理多张图片,根据指定的提示词为每张图片生成详细的英文描述,适用于文本到图像生成模型的训练数据准备。
- 批量处理多张图片URL
- 使用智谱AI的GLM-4V模型生成高质量图像描述
- 支持自定义提示词(Prompt)
- 自动下载图片到本地
- 将生成的描述保存为文本文件
- 支持并发处理,提高处理效率
- 可配置使用的模型版本
.
├── main.py # 主程序文件
├── config.json # 配置文件
├── output/ # 输出目录(程序运行后自动生成)
├── .env # 环境变量文件(需要手动创建)
└── README.md # 项目说明文件
git clone <repository-url>
cd GLM_Batch_Prompt# 使用 venv
python -m venv venv
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 或使用 conda
conda create -n glm-batch-prompt python=3.8
conda activate glm-batch-promptpip install -r requirements.txt如果项目中没有 requirements.txt 文件,可以手动安装所需依赖:
pip install zhipuai requests python-dotenv- 在项目根目录创建 .env 文件
- 在文件中添加您的智谱AI API密钥:
ZHIPUAI_API_KEY=your_api_key_here您可以在智谱AI开放平台获取API密钥。
编辑 config.json 文件:
{
"image_urls": [
"图片URL1",
"图片URL2",
"图片URL3"
// 添加更多图片URL
],
"model": "glm-4.5v",
"prompt": "您的提示词",
"concurrent_requests": 100
}配置项说明:
image_urls: 需要处理的图片URL列表model: 使用的模型版本(默认为glm-4.5v)prompt: 发送给模型的提示词concurrent_requests: 并发请求数量(可选,默认为图片总数)
python main.py程序运行后会在 output 目录下生成以下文件:
- 图片文件(从URL下载)
- 对应的文本描述文件(与图片同名,扩展名为.txt)
提示词需要详细说明您希望模型如何描述图片,例如:
## 角色设定 (System Role):
你是一名专业的图像描述专家。你的任务是将图片内容转化为高质量的英文提示词,用于文本到图像的生成模型。
## 任务说明 (User Instruction):
请仔细观察提供的图片,并生成一段详细、具体、富有创造性的英文短语,描述图片中的主体对象、场景、动作、光线、材质、色彩、构图和艺术风格。
## 输出要求 (Output Requirements):
** **语言**: 严格使用英文。
** **细节**: 尽可能多地描绘图片细节,包括但不限于物体、人物、背景、前景、纹理、表情、动作、服装、道具等。
** **角度**: 尽可能从多个角度丰富描述,例如特写、广角、俯视、仰视等,但不要直接写"角度"。
** **连接**: 使用逗号(,)连接不同的短语,形成一个连贯的提示词。
** **人物**: 描绘人物时,使用第三人称(如 'a woman', 'the man')。
** **质量词**: 在生成的提示词末尾,务必添加以下质量增强词:`, best quality, high resolution, 4k, high quality`。
## 只生成提示词,不需要描述过程及其他,并且一定要在质量词后结束。
- 请确保网络连接稳定,以便下载图片和调用API
- 处理大量图片时请注意API调用次数和费用
- 图片URL需要可公开访问
- 程序会自动处理同名文件,避免覆盖已有文件
- 根据需要调整并发请求数量,避免请求过于频繁
zhipuai: 智谱AI官方SDK,用于调用GLM系列模型requests: 用于下载图片python-dotenv: 用于加载环境变量
本项目为开源项目,可根据需要进行修改和分发。