2026/4/7 10:02:30
网站建设
项目流程
logo是黑色 怎么调网站的色调,网站的开发技术,wordpress前台注册,网站建站去哪找客户朋友#xff0c;可以转载#xff0c;但请注明出处#xff0c;谢谢#xff01; http://blog.csdn.net/jiangjunshow
最近是不是被各种AI生成的图文内容刷屏了#xff1f;不管是小红书上的氛围感穿搭图走心文案#xff0c;还是公众号里的科普长图趣味解读#xff0c;甚至…朋友可以转载但请注明出处谢谢http://blog.csdn.net/jiangjunshow最近是不是被各种AI生成的图文内容刷屏了不管是小红书上的氛围感穿搭图走心文案还是公众号里的科普长图趣味解读甚至是电商平台的商品主图卖点提炼全是AI的杰作作为常年泡在CSDN的技术人我必须得说现在搞AI真的不用死磕高数和复杂编程了低代码就能玩转多模态今天就给大家带来一篇保姆级教程——用Stable DiffusionLLM搭建专属图文生成平台全程口语化讲解代码直接复制粘贴就能用哪怕你是刚入门的小白跟着走也能一次成功最后还会分享怎么把这个平台做成可落地的小项目不管是练手还是赚点零花钱都香一、先搞懂啥是多模态图文生成为啥用Stable DiffusionLLM可能有兄弟会问“多模态”听着挺玄乎到底是啥意思其实特简单——就是AI能同时处理文字和图片两种信息还能互相转换。比如你输入一句“阳光沙滩上的柯基犬戴着墨镜啃西瓜”AI既能生成对应的图片还能自动给图片配一段搞笑文案这就是多模态图文生成。那为啥选Stable Diffusion和LLM搭配呢Stable Diffusion这可是AI绘图界的“顶流”生成图片的质量高、速度快关键是开源免费还支持各种插件扩展小白也能轻松调用。LLM大语言模型比如ChatGLM、Llama这些擅长理解文字和生成文案。用它来解析用户的文字需求再给生成的图片写解说、配标题完美弥补Stable Diffusion在文字处理上的短板。两者结合起来就是“112”LLM负责“听懂需求、写好文案”Stable Diffusion负责“画好图片”一个完整的图文生成平台就有了核心骨架。而且全程不用写复杂算法调用现成的API和开源库就行低代码yyds二、准备工作3步搞定环境搭建零门槛上手在开始之前咱们得先把“工具”备齐。我已经把复杂的环境配置简化到极致不管你用Windows还是Mac跟着做就行1. 核心工具清单全免费编程环境Python 3.8~3.10别用太高版本避免兼容性问题代码编辑器VS Code随便装个中文版看着舒服核心库diffusersStable Diffusion官方库、transformersLLM调用库、gradio快速搭建可视化界面、torch深度学习基础库额外依赖pillow处理图片、requests网络请求2. 环境安装复制命令直接运行打开VS Code的终端依次输入以下命令等待安装完成就行。如果安装慢就换国内镜像源后面会说# 先升级pip避免安装失败pip install--upgrade pip# 安装核心库一行搞定省心pip install diffusers transformers gradio torch pillow requests# 如果你安装慢用国内镜像源豆瓣源yydspip install diffusers transformers gradio torch pillow requests-i https://pypi.doubanio.com/simple/3. 关键资源准备不用手动下载代码自动拉取Stable Diffusion模型我们用官方的“runwayml/stable-diffusion-v1-5”这是最稳定、生成效果最好的基础模型代码会自动下载不用自己找资源。LLM模型用“THUDM/chatglm-6b-int4”这是清华大学开源的轻量模型占用内存小4G左右就能跑生成文案自然适合小白入门。这里插一句如果你的电脑没有独立显卡GPU也能跑就是生成图片会慢一点大概1-2分钟一张如果有N卡NVIDIA可以提前装个CUDA速度能快3-5倍具体怎么装后面会附简易教程。三、核心代码50行搞定图文生成复制粘贴就能用环境搭好后咱们直接上核心代码全程只有50多行每一行都加了注释看不懂也没关系先跑起来再说# 导入需要的库importgradioasgrfromdiffusersimportStableDiffusionPipelinefromtransformersimportAutoModelForCausalLM,AutoTokenizerimporttorch# ---------------------- 初始化模型 ----------------------# 1. 初始化Stable Diffusion图片生成模型# 用GPU加速如果没有GPU把cuda改成cpudevicecudaiftorch.cuda.is_available()elsecpusd_pipelineStableDiffusionPipeline.from_pretrained(runwayml/stable-diffusion-v1-5,# 基础模型torch_dtypetorch.float16ifdevicecudaelsetorch.float32,safety_checkerNone# 关闭安全检查避免误判正常内容).to(device)# 2. 初始化LLM文案生成模型tokenizerAutoTokenizer.from_pretrained(THUDM/chatglm-6b-int4,trust_remote_codeTrue)llm_modelAutoModelForCausalLM.from_pretrained(THUDM/chatglm-6b-int4,trust_remote_codeTrue).to(device)llm_modelllm_model.eval()# 切换到评估模式提升运行速度# ---------------------- 核心功能函数 ----------------------# 1. 图片生成函数输入文字描述输出图片defgenerate_image(prompt,negative_promptlow quality, blurry, ugly): prompt: 正面描述比如阳光沙滩上的柯基犬 negative_prompt: 负面描述避免生成低质量图片 imagesd_pipeline(promptprompt,negative_promptnegative_prompt,height512,# 图片高度512是基础尺寸效果最好width512,# 图片宽度num_inference_steps50,# 生成步数越高越清晰50步足够guidance_scale7.5# 相关性系数越高越贴合prompt7.5是黄金值).images[0]returnimage# 2. 文案生成函数输入图片描述输出配套文案defgenerate_caption(prompt):根据图片的文字描述生成配套文案# 给LLM写提示词让它生成合适的文案可以自己改风格llm_promptf请为一张描述为{prompt}的图片写一段20-50字的朋友圈文案风格活泼有趣带点网络热词responsellm_model.generate(input_idstokenizer.encode(llm_prompt,return_tensorspt).to(device),max_new_tokens100,# 最大生成字数temperature0.7,# 随机性越低越稳定越高越有创意do_sampleTrue)captiontokenizer.decode(response[0],skip_special_tokensTrue).replace(llm_prompt,)returncaption# 3. 整合图文生成一次输入同时输出图片和文案deftext_to_image_and_caption(prompt,negative_promptlow quality, blurry, ugly):imagegenerate_image(prompt,negative_prompt)captiongenerate_caption(prompt)returnimage,caption# ---------------------- 搭建可视化界面 ----------------------withgr.Blocks(title多模态图文生成平台)asdemo:gr.Markdown(# 低代码多模态图文生成平台)gr.Markdown(输入文字描述一键生成图片配套文案小白也能轻松上手)# 输入区域withgr.Row():promptgr.Textbox(label 文字描述,placeholder请输入你想生成的内容比如粉色头发的女孩在星空下弹吉他,lines3)negative_promptgr.Textbox(label❌ 负面描述可选,placeholder输入你不想生成的内容比如低质量、模糊、变形,lines2,valuelow quality, blurry, ugly, deformed)# 按钮区域generate_btngr.Button( 开始生成,variantprimary)# 输出区域withgr.Row():image_outputgr.Image(label️ 生成图片,typepil)caption_outputgr.Textbox(label✍️ 配套文案,lines3)# 绑定功能generate_btn.click(fntext_to_image_and_caption,inputs[prompt,negative_prompt],outputs[image_output,caption_output])# 启动服务默认端口7860打开浏览器访问 http://localhost:7860 即可使用if__name____main__:demo.launch(server_name0.0.0.0,# 允许局域网访问别人也能连你的电脑用server_port7860,# 端口号可以改成8080、8888等shareFalse# 要不要生成公共链接True会生成临时链接别人能远程用)代码运行说明重点复制上面的代码在VS Code里新建一个Python文件比如“text_image_generator.py”粘贴进去。点击运行按钮或者在终端输入“python text_image_generator.py”。运行成功后会出现一个链接http://localhost:7860复制到浏览器打开就能看到可视化界面了。输入文字描述比如“冬天里围着围巾的猫咪在壁炉旁看书”点击“开始生成”等待10-60秒看电脑配置就能得到图片和文案这里给大家避个坑如果运行时提示“内存不足”大概率是LLM模型太大了。可以把“THUDM/chatglm-6b-int4”换成更小的模型“THUDM/chatglm-6b-int8”或者直接用“ernie-3.0-mini-zh”百度开源的轻量模型修改代码里的模型名称就行其他不用动。四、功能优化3个小技巧让你的平台更实用跑通基础版本后咱们可以做几个简单的优化让生成效果更好、功能更全完全能满足日常使用1. 增加图片风格选择比如卡通、写实、油画修改generate_image函数在prompt里自动添加风格关键词代码如下# 新增风格选择参数defgenerate_image(prompt,style写实,negative_promptlow quality, blurry, ugly):# 定义不同风格的关键词style_keywords{写实:photorealistic, ultra detailed, 8k,卡通:cartoon, anime style, flat colors, line art,油画:oil painting, brush strokes, vibrant colors,水彩:watercolor painting, soft colors, transparent,赛博朋克:cyberpunk, neon lights, futuristic, rain}# 把风格关键词加入promptfull_promptf{prompt},{style_keywords[style]}imagesd_pipeline(promptfull_prompt,negative_promptnegative_prompt,height512,width512,num_inference_steps50,guidance_scale7.5).images[0]returnimage# 同时修改界面增加风格选择下拉框withgr.Blocks(title多模态图文生成平台)asdemo:gr.Markdown(# 低代码多模态图文生成平台)gr.Markdown(输入文字描述一键生成图片配套文案小白也能轻松上手)withgr.Row():promptgr.Textbox(label 文字描述,placeholder请输入你想生成的内容比如粉色头发的女孩在星空下弹吉他,lines3)withgr.Column():stylegr.Dropdown(label 图片风格,choices[写实,卡通,油画,水彩,赛博朋克],value写实)negative_promptgr.Textbox(label❌ 负面描述可选,placeholder输入你不想生成的内容比如低质量、模糊、变形,lines2,valuelow quality, blurry, ugly, deformed)generate_btngr.Button( 开始生成,variantprimary)withgr.Row():image_outputgr.Image(label️ 生成图片,typepil)caption_outputgr.Textbox(label✍️ 配套文案,lines3)generate_btn.click(fntext_to_image_and_caption,inputs[prompt,style,negative_prompt],# 新增style输入outputs[image_output,caption_output])这样一来你就能生成不同风格的图片了比如想做卡通头像就选“卡通”风格想做产品宣传图就选“写实”风格实用性直接拉满2. 支持文案风格切换朋友圈、小红书、电商文案修改generate_caption函数让LLM能生成不同风格的文案代码如下defgenerate_caption(prompt,caption_style朋友圈): caption_style: 文案风格可选朋友圈、小红书、电商 style_prompts{朋友圈:f请为一张描述为{prompt}的图片写一段20-50字的朋友圈文案风格活泼有趣带点网络热词不用太正式,小红书:f请为一张描述为{prompt}的图片写一段50-80字的小红书文案开头吸引人中间带emoji结尾加相关话题标签,电商:f请为一张描述为{prompt}的图片写一段30-60字的电商商品文案突出产品卖点语言简洁有吸引力适合用于商品详情页}llm_promptstyle_prompts[caption_style]responsellm_model.generate(input_idstokenizer.encode(llm_prompt,return_tensorspt).to(device),max_new_tokens150,temperature0.7,do_sampleTrue)captiontokenizer.decode(response[0],skip_special_tokensTrue).replace(llm_prompt,)returncaption# 界面上增加文案风格下拉框withgr.Row():promptgr.Textbox(label 文字描述,placeholder请输入你想生成的内容比如粉色头发的女孩在星空下弹吉他,lines3)withgr.Column():stylegr.Dropdown(label 图片风格,choices[写实,卡通,油画,水彩,赛博朋克],value写实)caption_stylegr.Dropdown(label✍️ 文案风格,choices[朋友圈,小红书,电商],value朋友圈)negative_promptgr.Textbox(label❌ 负面描述可选,placeholder输入你不想生成的内容比如低质量、模糊、变形,lines2,valuelow quality, blurry, ugly, deformed)# 绑定函数时加入caption_style输入generate_btn.click(fntext_to_image_and_caption,inputs[prompt,style,caption_style,negative_prompt],outputs[image_output,caption_output])现在你生成的文案可以直接用在不同平台了比如做电商带货就选“电商”风格文案会自动突出卖点想发小红书引流就选“小红书”风格自带emoji和话题标签省心又高效。3. 增加图片下载功能一键保存高清图Gradio的Image组件默认支持下载但是我们可以优化一下让用户能直接下载带文案的图片比如把文案叠加在图片上修改代码如下fromPILimportImageDraw,ImageFont# 新增在图片上添加文案defadd_caption_to_image(image,caption):# 设置字体如果没有默认字体可以替换成自己电脑上的字体路径try:fontImageFont.truetype(arial.ttf,24)# Windows默认字体except:try:fontImageFont.truetype(/System/Library/Fonts/PingFang.ttc,24)# Mac默认字体except:fontImageFont.load_default(size24)# fallback字体# 创建可编辑的图片副本image_with_captionimage.copy()drawImageDraw.Draw(image_with_caption)# 设置文案位置底部居中text_width,text_heightdraw.textsize(caption,fontfont)x(image.width-text_width)//2yimage.height-text_height-20# 距离底部20像素# 绘制文案黑色字体白色背景增加可读性draw.rectangle([x-10,y-10,xtext_width10,ytext_height10],fillwhite)draw.text((x,y),caption,fontfont,fillblack)returnimage_with_caption# 修改整合函数返回带文案的图片deftext_to_image_and_caption(prompt,style写实,caption_style朋友圈,negative_promptlow quality, blurry, ugly):imagegenerate_image(prompt,style,negative_prompt)captiongenerate_caption(prompt,caption_style)image_with_captionadd_caption_to_image(image,caption)returnimage_with_caption,caption这样一来用户生成图片后下载的就是带文案的完整版本直接就能用在各种平台不用再手动编辑图片体验感瞬间提升五、落地场景这个平台能用来做啥附变现思路很多兄弟学技术最终还是想落地应用或者赚点钱这个图文生成平台的用法可太多了给大家分享几个常见场景1. 自媒体辅助工具如果你做小红书、抖音、公众号自媒体每天都需要大量图文素材。用这个平台输入“夏日穿搭 碎花连衣裙 海边背景”一键生成图片小红书文案再稍微修改一下就能直接发布每天能节省2-3小时的素材制作时间。2. 电商商家必备淘宝、拼多多、抖音电商的商家需要给商品拍图、写文案。用这个平台输入“复古风马克杯 陶瓷材质 手绘花纹 下午茶场景”生成写实风格的图片电商文案不用花钱请摄影师和文案策划小成本就能搞定商品详情页素材。3. 个人娱乐/礼物制作想给朋友做个性化礼物输入“朋友的名字喜欢的动漫角色生日祝福”生成卡通风格的图片祝福文案打印出来做成明信片、相框既有心意又独特。平时自己想发朋友圈苦于没有配图和文案用它一键生成朋友圈点赞量都能翻倍4. 小副业变现如果你技术稍微好一点可以把这个平台打包成小工具卖给有需要的人比如自媒体、小商家定价99-199元/份提供安装和售后指导。或者在闲鱼、淘宝上接单帮别人生成图文素材一张图文案收费5-10元每天接10单月入几千块不成问题六、进阶技巧想让生成效果更惊艳试试这2招如果你的电脑配置还不错有3060以上的N卡可以试试这两个进阶技巧生成的图片和文案质量会更上一层楼1. 更换更好的模型Stable Diffusion模型可以换成“LyCORIS”、“Anything”等专用模型生成的图片更有特色比如动漫风格更逼真。LLM模型可以换成“ChatGLM2-6B”、“Llama 2”等更强大的模型生成的文案逻辑更清晰、风格更多样。更换模型的方法很简单只需要修改代码里的模型名称比如把“runwayml/stable-diffusion-v1-5”改成你想使用的模型名称代码会自动下载。2. 增加图片分辨率默认生成的图片是512x512像素如果你想生成高清图比如1024x1024可以修改generate_image函数里的height和width参数同时增加num_inference_steps比如改成70生成的图片会更清晰但是运行时间会稍微长一点。七、重要提醒虽然低代码能上手但基础很重要看到这里可能有兄弟会说“原来AI这么简单不用懂基础知识也能开发应用” 确实现在的开源工具和API让我们能快速实现各种AI功能不用再从零开始写算法。但是我必须得说一句虽然不懂AI基础知识也能开发AI应用但是懂的人往往可以开发出更复杂更优秀的AI高级应用。如果你对AI基础知识感兴趣可以看看我的人工智能入门教程http://blog.csdn.net/jiangjunshow。这套教程是我花了十多年时间结合自己在国内外的学习和工作经验编写的全程通俗易懂不用高数基础高中水平就能学。里面涵盖了人工智能的核心原理、机器学习、神经网络等基础知识还有大量实战案例学完之后你不仅能玩转低代码工具还能自己修改模型、优化算法开发出更有竞争力的AI应用不管是求职加薪还是创业都能更有优势八、总结低代码是入门捷径持续学习才是王道今天给大家分享的Stable DiffusionLLM图文生成平台全程低代码小白也能轻松上手。通过这个项目你不仅能掌握多模态AI的核心用法还能直接落地成实用工具甚至变现赚钱。其实AI技术并没有我们想象的那么难关键是找对方法。低代码工具就像是“脚手架”能让我们快速搭建起应用的框架但是要想让应用更强大、更有特色还是需要掌握扎实的AI基础知识。如果你在运行代码的过程中遇到问题比如环境配置失败、模型下载慢、生成效果不好可以在评论区留言我会一一回复解答。也欢迎大家分享自己的生成成果一起交流学习最后祝大家都能玩转AI用技术改变生活、实现价值赶紧动手试试吧相信你一定会惊艳到自己