LoRA训练助手代码实例GradioOllama调用Qwen3-32B生成tag1. 项目概述LoRA训练助手是一个专门为AI绘画爱好者和模型训练者设计的智能工具。它能将你描述图片内容的中文文字自动转换成规范的英文训练标签tag这些标签可以直接用于Stable Diffusion、FLUX等模型的LoRA和Dreambooth训练。想象一下这样的场景你有一张很棒的图片想要用于模型训练但不知道该怎么写合适的英文标签。传统方法需要手动翻译、整理、排序既费时又容易出错。LoRA训练助手解决了这个问题只需简单描述图片内容AI就能帮你生成专业级的训练标签。2. 环境准备与快速部署2.1 系统要求在开始之前请确保你的系统满足以下基本要求Python 3.8 或更高版本至少8GB可用内存推荐16GB以上稳定的网络连接用于下载模型权重2.2 一键安装依赖打开终端执行以下命令安装所需依赖# 创建并激活虚拟环境可选但推荐 python -m venv lora_assistant_env source lora_assistant_env/bin/activate # Linux/Mac # 或 lora_assistant_env\Scripts\activate # Windows # 安装核心依赖 pip install gradio ollama transformers torch2.3 配置Ollama和Qwen3-32B模型Ollama是一个本地大模型运行框架我们需要先下载并配置Qwen3-32B模型# 安装Ollama如果尚未安装 # 访问 https://ollama.ai 下载对应版本 # 拉取Qwen3-32B模型 ollama pull qwen2:32b # 验证模型是否可用 ollama run qwen2:32b Hello如果看到模型正常回复说明环境配置成功。3. 核心功能实现代码3.1 主程序代码创建一个名为lora_assistant.py的文件复制以下代码import gradio as gr import ollama import re def generate_lora_tags(description): 根据中文描述生成LoRA训练标签 # 构建提示词模板 prompt f你是一个专业的AI绘画训练助手。请将以下中文描述转换为适合Stable Diffusion LoRA训练的英文标签。 要求 1. 输出纯英文逗号分隔 2. 重要特征放在前面 3. 包含角色、服装、动作、背景、风格等维度 4. 添加适当的质量词如masterpiece, best quality 5. 不要包含任何解释文字 中文描述{description} 英文标签 try: # 调用Qwen3-32B模型 response ollama.chat(modelqwen2:32b, messages[ { role: user, content: prompt } ]) # 提取并清理标签 tags response[message][content].strip() tags re.sub(r[^a-zA-Z0-9,\s\-], , tags) # 移除非英文字符 tags re.sub(r\s, , tags) # 合并多余空格 return tags except Exception as e: return f生成失败{str(e)} # 创建Gradio界面 def create_interface(): with gr.Blocks(titleLoRA训练助手) as demo: gr.Markdown(# LoRA训练助手) gr.Markdown(输入图片内容描述中文AI自动生成英文训练标签) with gr.Row(): with gr.Column(): input_text gr.Textbox( label图片描述, placeholder例如一个穿着红色连衣裙的金发女孩在花园里微笑阳光明媚动漫风格, lines3 ) generate_btn gr.Button(生成标签, variantprimary) with gr.Column(): output_text gr.Textbox( label生成的英文标签, lines5, interactiveFalse ) copy_btn gr.Button(复制标签) # 示例部分 with gr.Accordion(查看示例, openFalse): examples gr.Examples( examples[ [一个穿着汉服的古典美女站在樱花树下花瓣飘落唯美古风], [科幻城市夜景霓虹灯光未来感建筑雨夜街道反射], [可爱的卡通猫咪在沙发上睡觉毛茸茸的温暖室内光线] ], inputsinput_text, label点击试试这些示例 ) # 绑定事件 generate_btn.click( fngenerate_lora_tags, inputsinput_text, outputsoutput_text ) # 复制功能需要浏览器支持 copy_btn.click( fnNone, inputsoutput_text, js() {navigator.clipboard.writeText(document.querySelector(#output-text textarea).value);} ) return demo if __name__ __main__: demo create_interface() demo.launch( server_name0.0.0.0, server_port7860, shareFalse )3.2 批量处理功能扩展如果你需要为多张图片批量生成标签可以添加以下代码def batch_generate_tags(descriptions): 批量生成标签 descriptions: 描述列表 results [] for desc in descriptions: if desc.strip(): # 跳过空描述 tags generate_lora_tags(desc) results.append(f描述: {desc}\n标签: {tags}\n{-*50}) else: results.append(跳过空描述) return \n.join(results) # 在Gradio界面中添加批量处理选项卡 def add_batch_tab(demo): with demo: with gr.Tab(批量处理): gr.Markdown(## 批量生成标签) with gr.Row(): batch_input gr.Textbox( label多个描述每行一个, placeholder每行输入一个图片描述, lines10 ) batch_btn gr.Button(批量生成, variantprimary) batch_output gr.Textbox(label批量生成结果, lines15) batch_btn.click( fnlambda x: batch_generate_tags(x.split(\n)), inputsbatch_input, outputsbatch_output )4. 运行和使用方法4.1 启动应用在终端中运行以下命令启动应用python lora_assistant.py你会看到类似这样的输出Running on local URL: http://0.0.0.0:7860在浏览器中打开http://localhost:7860即可使用。4.2 使用技巧描述建议尽量详细包括角色特征、服装、动作、场景、风格等使用具体词汇不要只说漂亮女孩要说金发蓝眼女孩穿着校服说明风格指明是写实风格、动漫风格、油画风格等示例对比普通描述一个女孩 生成标签可能girl, female, simple background详细描述一个金发双马尾女孩穿着日式校服在教室中微笑动漫风格阳光从窗户射入 生成标签girl, blonde hair, twin tails, school uniform, smiling, classroom, anime style, sunlight, masterpiece, best quality5. 常见问题解决5.1 模型加载问题如果遇到模型加载失败尝试以下命令# 检查Ollama服务状态 ollama serve # 重新拉取模型 ollama rm qwen2:32b ollama pull qwen2:32b5.2 内存不足处理如果出现内存不足错误可以关闭其他占用内存的应用程序使用较小的模型版本如qwen2:7b增加虚拟内存Windows或交换空间Linux5.3 生成质量优化如果生成的标签不够准确在描述中添加更多细节在提示词模板中调整要求尝试不同的模型参数温度值等6. 实际应用案例6.1 动漫角色训练描述蓝发少女红色眼睛穿着哥特式连衣裙拿着魔法杖站在月光下的城堡前暗黑奇幻风格生成标签blue hair, red eyes, gothic dress, holding magic staff, castle, moonlight, dark fantasy style, masterpiece, best quality, 1girl, solo6.2 场景训练描述未来城市街景霓虹灯广告牌飞行汽车雨夜赛博朋克风格香港启德风格生成标签cyberpunk city, neon lights, flying cars, rainy night, Hong Kong style, futuristic, streets, masterpiece, best quality, wide shot6.3 物体训练描述复古胶卷相机皮革外壳金属部件放在木桌上柔光摄影产品拍摄风格生成标签vintage film camera, leather body, metal parts, wooden table, product photography, soft lighting, high detail, masterpiece, best quality7. 总结LoRA训练助手通过Gradio和Ollama的组合让AI绘画训练的数据准备变得简单高效。你不需要懂复杂的英文标签规范也不需要手动整理排序只需要用中文描述你的图片AI就能帮你生成专业级的训练标签。这个工具特别适合AI绘画初学者不知道如何写合适的训练标签需要批量处理大量训练数据的创作者想要提高LoRA训练效果的研究者实际使用中记得描述越详细生成的标签就越准确。你可以根据自己的需求调整提示词模板获得更符合特定风格的结果。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。