一直以来,我在文字生成和图片识别方面利用大模型进行了很多尝试,但对于热门的文生图,一直没机会研究。此次,借助“Gitee AI 社群挑战”的契机,正好一起学习下。
本次题目主要是基于 Kolors 等文生图模型(Serverless方式),创作一个能生成「毛茸茸作品」的应用。
Gitee AI Serverless每天有100次免费体验额度,大家可以快速体验各种模型效果。
应用名称:魔法相馆
体验地址:ai.gitee.com/apps/FlyFiv…
模型名称:Kolors
先放下我使用的参考图和测试用图。
参考图:
原图:
前置
提前准备好以下事项:
- 注册、登录Gitee AI。
- 安装Cursor 0.43版本及相关额度。
最近开发已经越来越离不开AI代码编辑器了,强烈推荐大家赶紧适应这种开发方式,具体效果可以跟我体验一番。
大家如果想了解更多AI代码编辑器的效果,可以查看以往文章:
名词解释:
-
Gitee AI
“Gitee AI 汇聚了最新最热的 AI 模型,提供模型体验、推理、微调、部署和应用的一站式服务,我们提供了丰富的算力选择,希望帮助企业和开发者更容易地开发 AI 应用。”以上是官网介绍,个人感觉最好的有两点:
- 多种模型服务:不管是自行部署Model,直接调用Serverless,还是微调平台,总会有款适合你。
- 代码仓库和模型、应用深度集成:提交代码,运行后自动构建出可视化应用,尤其是Gitee在代码仓库方面的经验,让一些功能设计更加贴合开发者习惯。
-
Serverless API
部署了很多可以直接在线调用的模型API,让你摆脱大模型部署之困,真的很方便。并且还有在线Demo,更加便于体验效果。
尤其是Gitee AI的每天100次白嫖机会,真香。
尝试
回到本次分享主题“文生图”,由于本人之前没怎么研究,所以,先通过Serverless在线Demo直观体验下。
文生图初步尝试
直接使用Kolors体验,这个模型前一阵很火热,快手团队开源的,据说很能打。
-
Serverless 页面,找到对应的模型,点击“体验”即可。
-
尝试“给猫咪头上戴个花环”
整体效果看起来还不错。
文生图方式
大家可以看到截图左上角有API下拉选择,OpenAI兼容就不说了,接口规范不同而已。
其它是常用的文生图方式,如下:
- 文生图:直接根据文本描述生成图片。
- 垫图:根据文本描述,同时参考参考图片生成。
- 局部重绘:仅对图像的特定区域进行修改或重新绘制。
- 风格迁移:将一张图像的视觉风格应用到另一张图像上。
大家可以根据自己需要进行选择,根据今天的主题要求,我选择了风格迁移方式。
实战开发
打开Cursor,准备开发。最近一直在学习Streamlit,今天开发框架依然是它。
简单分析了下,今天的实战主要分为以下几步:
- 调通Serverless接口。
- 封装请求方法,方便界面调用。
- 开发界面。
- 测试。
- 优化。
- 完工。
环境依赖
- 建立项目。
- 创建python环境。
- 安装依赖。
requirements.txt,这里直接把最终的依赖文件放上了,大家也可以跟着Cursor一步步来。
streamlit
pillow
requests
pip install -r .\requirements.txt
调通Serverless接口
Gitee AI直接在在线Demo处给出了代码,如下图:
勾选“添加令牌”后,即可看到请求令牌。
代码拿来直接使用,一点问题没有。 就是demo中的图片,有点抽象,官方要不更换个好看的。
封装请求方法
本步骤会初步实现以下功能:
- 封装方法;
- 设置参考图;
- 初步设置好提示词。
Cursor Chat中发送指令,记得 Ctrl+Enter,分析本地代码,不然结果可能不准确。
请将当前文件代码封装为函数,方便调用,参数只需要开放image、inputs、prompt即可。
image使用refer_image.png即可。
注意参数,因为原始代码中inputs和image未明显说明,最好手动确认下。
- inputs:原图
- image:风格图片
测试结果:
效果一般,不过这只是初步的提示词,大家可以各自发挥,继续优化。
开发界面
接口没问题了,接下来,我们进行界面开发。
Streamlit默认是app.py作为启动文件,这里我提前新建上了。
Cursor Chat中发送指令。
基于streamlit实现一个图生图应用,原图和生成图片横向布局
运行应用
streamlit run .\app.py
界面效果
优化
- 解决页面警告提示,可以自己修改,也可以直接截图给Cursor。
- 图片设置固定高度,稍微美观一点。
- 设置默认提示词为“毛茸茸效果”。
最终效果
这个时间内,达到这个效果,我感觉Gitee AI和Cursor还是可以的。
总结
Cursor就不多说了,之前分享过了。
Gitee AI的Serverless API,真的推荐大家尝试下,无需我们自行搭建复杂的模型,即可在线体验丰富多样的预训练模型。而且能显著缩短从概念到成品的时间。对于希望快速验证创意或原型的团队和个人来说,这是一个极佳的选择。
通过Gitee AI和Cursor帮助,应用倒是很轻松就完成了,但是效果想要再好一点,可能需要不断炼丹了。
后续炼出好的提示词,我再补充进来,如果大家有好的想法建议,也可以随时沟通。