前言
在这个社交媒体兴盛的时代,每个人都是自己故事的讲述者。
但在分享生活的每一刻时,我们常常被一个简单却困扰的问题所困扰: 如何为我们的照片配上恰如其分的文案?
这正是本项目的出发点,先进的AI技术与照片分享的需求相结合,致力于为每一位用户提供一键生成文案的便利。
本项目会涉及工程代码开发,使用了文心一言SDK、百度千帆图像识别、OCR等技术应用。
🥳 同时我提供了6个文案创作高频应用场景的Prompt提示词,欢迎取用。
阅读建议:
- 一般读者用户: 无需深入技术细节,只需知道通过上传照片,我们的系统可以自动为您生成创意文案,使分享变得更加轻松。
- 技术爱好者/开发者: 本项目展示了图像识别和大语言模型技术的结合应用,如果对代码和工程实现感兴趣,可深入研究。项目教程包含技术细节,建议需要有了解 Python 基础代码知识,动手大模型工程应用实践能力,调用 SDK、API能力。
- 本项目入选文心大模型&PaddlePaddle飞桨的活动, 自由度高、奖励丰富,鼓励大家参与活动,参与就有奖品!记得将您的作品提交到指定表单呀!
(👆点击图片了解活动详情)
项目简介
设计背景
- 为什么做这个项目: 在社交媒体日益流行的时代,许多人在分享照片时常常苦恼于如何配文,本项目让每张照片都能轻松配上合适的文案。
- 痛点是什么: 在快节奏的生活中,人们希望快速分享生活点滴,但往往被找不到合适文案所困扰。
- 提供了什么能力: 结合了图像识别和文心一言大语言模型的处理技术,能够智能分析照片内容,并根据分析结果生成有创意的文案。
- 解决什么问题: 用户上传照片,一键自动生成文案,解决了用户在分享照片时“想不到文案”这一问题。
效果展示
😆 每一次烹饪,都是一次心灵的对话。
🐬 今天去看了海洋馆,写一篇小红书推文!
🤔 我想做一个安静的美男子,吟诗作赋
体验地址
https://aistudio.baidu.com/application/detail/11191
设计思路
目标明确与需求梳理:
- 确定产品目标: 让用户能够通过上传任何照片,快速生成与照片内容相匹配的文案,更简单的交互界面。
- 用户需求调研: 通过调查问卷、用户访谈等方式,收集目标用户(如日常社交媒体用户、内容创作者)在发朋友圈时的常见困扰,特别关注他们在文案创作上的具体挑战。
- 确认场景: 梳理6个场景「朋友圈、小红书、抖音、近代诗歌、微商营销、故事叙述」。
交互逻辑
- 上传图片
- 选择风格
- 生成文案
数据流逻辑
- 上传图片
- 图像识别、OCR识别
- 得到图片关键信息
- 风格选择
- Prompt模版适配
- 文心一言处理Prompt+图片关键信息
- 输出文案
实现流程
围绕实现目标,去设计实现功能,主要围绕围绕以下3点实现:
- 支持用户上传图片
- 支持选择文案风格
- 支持自动生成文案
1.环境准备
环境准备请在下面 三选一 即可,如果您已经有 Python 3.x 相关环境可直接进行下一步。
- Paddle 星河社区: 在线使用免费的 GPU 资源,Notebook 开发教程:https://www.bilibili.com/video/BV1Lw411n7oU/?vd\_source=dd1574f6083e63c75e2160bc8014e317
- Anaconda 全家桶: 已包含 Python 和一些库,介绍、安装及使用教程:https://zhuanlan.zhihu.com/p/32925500
- Python 官方网站: https://www.python.org/ 进行下载安装。
2.Gradio 基础框架搭建
为什么选择 Gradio 作为 AI 的 UI 工具?
- 基于 Python: Gradio 是基于 Python 开发的库,使用 Gradio 作为 UI 工具可以避免语言切换的复杂性。
- 模块丰富: 支持多种输入和输出类型,包括文本、图像、音频等,同时还提供了丰富的界面组件,如文本框、滑块、按钮等,以及自定义的输出展示方式。
- 简单易用: 快速构建交互式应用程序,而无需繁琐的代码编写和复杂的配置。快速定义输入和输出函数,并通过几行代码即可将它们与界面组件关联起来。
我们所熟悉的 Stable Diffusion Web UI 使用的就是 Gradio 开发的交互界面。
img
Gradio 官方参考文档:https://www.gradio.app/guides/quickstart
👉 快速开始
- 打开命令行界面:打开命令行界面(例如 Windows 上的命令提示符或 Mac 上的终端)。
- 使用 pip 安装 Gradio:在命令行界面中输入以下命令,按下回车执行:
pip install gradio
在项目工程文件使用时,我们只需导入 gradio 库即可,示例:
import gradio as gr
def greet(name):return "Hello " + name + "!"
demo = gr.Interface(fn=greet, inputs="text", outputs="text")
if __name__ == "\_\_main\_\_":
demo.launch(show_api=False)
img
(示例运行效果图)
✍️ 初版设计
我使用的大语言模型生成代码的方式,我仅需将我的诉求告诉 ChatGPT / 文心一言,它就可以自动帮我生成 Gradio 的代码,并且可以按照实际需求不断调整优化。
img
[用户]:
我现在要做这么一个图生文的功能,请你为我完善流程设计细节后,使用Gradio代码实现:
1.用户上传图片
2.用户选择风格模式(朋友圈、小红书、微博、抖音...)
3.点击生成按钮
4.执行图像识别提取图片中的关键信息
5.将关键信息结果对接文心一言模型,根据用户选择风格模式生成文字信息
6.将文字信息呈现给用户
[回复]:
import gradio as gr
from PIL import Image
import requests
# 假设您已经有函数来处理图像识别和调用文心一言模型
def image\_recognition(image):
# 图像识别处理,返回识别的关键信息
return "关键信息"
def generate\_text(key\_info, style):
# 根据关键信息和风格生成文本
return "生成的文本"
# Gradio应用界面
def process\_image(image, style):
key_info = image_recognition(image)
text = generate_text(key_info, style)
return text
# 定义Gradio界面
iface = gr.Interface(
fn=process_image,
inputs=[gr.inputs.Image(type="pil"), gr.inputs.Dropdown(["朋友圈", "小红书", "微博", "抖音"])],
outputs="text"
)
# 运行Gradio应用
iface.launch()
img
(运行效果图)
现在我们已经将基础交互框架已经搭建好了,可以支持图片上传、样式选择、提交清除按钮、转换的文本输出模块,接下来我们要将实际业务的流程处理逻辑代码进行补充。
3.功能设计与能力补齐
在我们这个产品业务流程设计中,我们需要有图像识别和 OCR 能力作为图片分析的数据源输入、大语言模型处理的能力作为数据处理,这与我们的业务模块息息相关,下面将介绍如何使用相关能力:
文心一言大模型 ERNIE Bot SDK
ERNIE Bot SDK 提供便捷易用的接口,可以调用文心一言的能力,包含文本创作、通用对话、语义向量、AI 作图等,具体支持功能如下(更多功能持续更新中):
- 对话补全(Chat Completion)
- 语义向量(Embedding)
- 文生图 (Image Generation)
- 函数调用 (Function Calling)
介绍地址:https://aistudio.baidu.com/cooperate/yiyan
img
如何完成身份鉴权并使用?
img
在 AI Studio 个人中心的访问令牌页面,大家可以获取到自己的 ACCESS-TOKEN。
鉴权信息获取完整流程:https://github.com/PaddlePaddle/ERNIE-Bot-SDK/blob/develop/docs/authentication.md
ERNIE Bot SDK 开发完整教程可参考:https://aistudio.baidu.com/projectdetail/6779542
👉 快速开始
- 打开命令行界面:打开命令行界面(例如 Windows 上的命令提示符或 Mac 上的终端)。
- 使用 pip 安装 erniebot:在命令行界面中输入以下命令,按下回车执行:
pip install erniebot
在项目工程文件使用时,我们只需导入 erniebot 库即可,示例:
import erniebot
# List supported models
models = erniebot.Model.list()
print(models)
# ernie-bot 文心一言模型(ernie-bot)
# ernie-bot-turbo 文心一言模型(ernie-bot-turbo)
# ernie-bot-4 文心一言模型(ernie-bot-4)
# ernie-bot-8k 文心一言模型(ernie-bot-8k)
# ernie-text-embedding 文心百中语义模型
# ernie-vilg-v2 文心一格模型
# Set authentication params
erniebot.api_type = "aistudio"
erniebot.access_token = "<access-token-for-aistudio>" # 这里需要填入你的ACCESS-TOKEN
# Create a chat completion
response = erniebot.ChatCompletion.create(model="ernie-bot", messages=[{"role": "user", "content": "你好,请介绍下你自己"}])
print(response.get_result())
✍️ 初版设计
我将文心一言模型能力封装成了一个 def 方法,便于其他模块进行调用交互:
# 调用文心一言模型
def get\_ernie\_response(user\_message):
# 配置文心一言模型
erniebot.api_type = 'aistudio'
erniebot.access_token = '这里填写你的ACCESS\_TOKEN'
# 调用模型
response = erniebot.ChatCompletion.create(
model='ernie-bot',
messages=[
{
'role': 'user',
'content': user_message
}
]
)
# 获取并返回结果
return response.get_result()
img
(运行测试结果图)
创建百度智能云图像识别
精准识别超过十万种物体和场景,包含10余项高精度的识图能力并提供相应的API服务,充分满足各类开发者和企业用户的应用需求。(OCR识别也可以参考以下同样的办法)
地址:https://cloud.baidu.com/search/5Zu-5YOP6K-G5Yir/all-1
img
点击“立即使用”,在试用期间有大量免费测试资源。
img
进入“应用列表”,点击“创建应用”,填写应用必填信息并勾选图像识别“全选”。
img
img
创建完成后,在你的应用列表内可以看到你的应用信息,同时可以看到 API Key 和 Secret Key 的信息。
👉 快速开始
点击进入API在线调试,我们即可根据我们的业务场景进行调试
img
img
我们可以将示例代码直接放到我们的项目工程中,作为一个新的文件存储,并在主代码模块中进行模块引用,或者您也可以将其封装成独立的函数方法。
import requests
API_KEY = "填写你的 API\_KEY"
SECRET_KEY = "填写你的 SECRET\_KEY"
def main():
url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced\_general?access\_token=" + get_access_token()
payload={}
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
def get\_access\_token():
"""
使用 AK,SK 生成鉴权签名(Access Token)
:return: access\_token,或是None(如果错误)
"""
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {"grant\_type": "client\_credentials", "client\_id": API_KEY, "client\_secret": SECRET_KEY}
return str(requests.post(url, params=params).json().get("access\_token"))
if __name__ == '\_\_main\_\_':
main()
✍️ 初版设计
我将图像识别模型能力封装成了一个 def 方法,便于其他模块进行调用交互:
import requests
def get_access_token(api_key, secret_key):
"""
使用 AK,SK 生成鉴权签名(Access Token)
:param api\_key: API密钥
:param secret\_key: 秘密密钥
:return: access\_token,或是None(如果错误)
"""
url = "https://aip.baidubce.com/oauth/2.0/token"
params = {"grant\_type": "client\_credentials", "client\_id": api_key, "client\_secret": secret_key}
return str(requests.post(url, params=params).json().get("access\_token"))
def classify_image(api_key, secret_key):
"""
对图像进行分类。
:param api\_key: API密钥
:param secret\_key: 秘密密钥
"""
access_token = get_access_token(api_key, secret_key)
if access_token:
url = "https://aip.baidubce.com/rest/2.0/image-classify/v2/advanced\_general?access\_token=" + access_token
payload = {}
headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Accept': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
else:
print("无法获取Access Token.")
# 示例使用
if __name__ == '\_\_main\_\_':
API_KEY = "填写你的 API\_KEY"
SECRET_KEY = "填写你的 SECRET\_KEY"
classify_image(API_KEY, SECRET_KEY)
4.围绕场景设计 Prompt
在图片生成文案的过程中,我们拥有了图片解析后的数据源,如果需要进一步美化处理,即涉及到了与大语言模型交互的场景,而Prompt提示词能够在很大程度上控制大语言输出结果好坏,因此我针对几个文案场景设计了一些简单引导的Prompt提示词。
大家如果需要使用LangGPT结构的Prompt提示词建议使用文心4.0API进行开发会比较稳定
学习LangGPT提示词地址:https://github.com/EmbraceAGI/LangGPT
如何在大模型应用开发过程中结合Prompt使用?
🙋 这题我会:Prompt + 关键信息,拼接后一起提交给大语言模型处理,下面是一个示例:
prompt = f"""你现在的任务是从OCR文字识别的结果中提取我指定的关键信息。OCR的文字识别结果使用```符号包围,包含所识别出来的文字,
顺序在原始图片中从左至右、从上至下。我指定的关键信息使用[]符号包围。请注意OCR的文字识别结果可能存在长句子换行被切断、不合理的分词、
对应错位等问题,你需要结合上下文语义进行综合判断,以抽取准确的关键信息。
在返回结果时使用json格式,包含一个key-value对,key值为我指定的关键信息,value值为所抽取的结果。
如果认为OCR识别结果中没有关键信息key,则将value赋值为“未找到相关信息”。 请只输出json格式的结果,不要包含其它多余文字!下面正式开始:
OCR文字:```{ocr\_result}```
要抽取的关键信息:[{key}]。"""
同样来说,本项目中,关键信息即为「OCR识别的数据结果」+「图像识别的数据结果」
下面提供了部分Prompt样例,您也可以按照自己的业务需求去优化设计,并结合关键信息填充:
小红书风格
你是小红书爆款写作专家,请你用以下步骤来进行创作,首先产出5个标题(含适当的emoji表情),其次产出1个正文(每一个段落含有适当的emoji表情,文末有合适的tag标签)
一、在小红书标题方面,你会以下技能:
1. 采用二极管标题法进行创作
2. 你善于使用标题吸引人的特点
3. 你使用爆款关键词,写标题时,从这个列表中随机选1-2个
4. 你了解小红书平台的标题特性
5. 你懂得创作的规则
二、在小红书正文方面,你会以下技能:
1. 写作风格
2. 写作开篇方法
3. 文本结构
4. 互动引导方法
5. 一些小技巧
6. 爆炸词
7. 从你生成的稿子中,抽取3-6个seo关键词,生成#标签并放在文章最后
8. 文章的每句话都尽量口语化、简短
9. 在每段话的开头使用表情符号,在每段话的结尾使用表情符号,在每段话的中间插入表情符号
三、结合我给你输入的信息,以及你掌握的标题和正文的技巧,产出内容。请按照如下格式输出内容,只需要格式描述的部分,如果产生其他内容则不输出:
一. 标题
[标题1到标题5]
[换行]
二. 正文
[正文]
标签:[标签]
抖音带货风格
你是抖音热销产品推广专家,请你用以下步骤来进行创作,首先产出5个标题,其次产出1个正文(文末有合适的tag标签)
一、在抖音标题方面,你会以下技能:
1. 运用热点事件结合产品特点的方法进行创作
2. 善于通过标题激发观众的好奇心
3. 使用抖音热搜词汇,写标题时,从这个列表中随机选1-2个
4. 你深谙抖音平台的标题趋势
5. 掌握吸引眼球的创作技巧
二、在抖音正文方面,你会以下技能:
1. 生动有趣的写作风格
2. 高效抓住用户注意力的开篇方法
3. 清晰易懂的文本结构
4. 引导用户互动的技巧
5. 运用小窍门提高内容吸引力
6. 创意词汇的运用
7. 从你生成的内容中,提取3-6个seo关键词,生成#标签并放在文章最后
8. 保持每句话口语化、简洁
9. 在每段话的开头、结尾和中间使用表情符号
三、结合我给你输入的信息,以及你掌握的标题和正文的技巧,产出内容。请按照如下格式输出内容,只需要格式描述的部分,如果产生其他内容则不输出:
一. 标题
[标题1到标题5]
[换行]
二. 正文
[正文]
标签:[标签]
朋友圈风格
你是一位擅长朋友圈内容创作的社交媒体达人,你的任务是创作出引人关注的朋友圈帖子。请按照以下步骤进行创作:
一、在朋友圈帖子的内容和主题方面,你会运用以下技能:
1. 选择一个引人兴趣的话题或日常生活趣事
2. 使用幽默或感悟的方式来表达你的观点
3. 与日常生活相关的话题,更容易引起共鸣
4. 分享个人经历或见解,展现个性
5. 使用简洁有力的语言来吸引读者
二、在朋友圈帖子的视觉和互动方面,你会运用以下技能:
1. 选用吸引人的图片或视频来增强内容的表现力
2. 使用表情符号和网红热词来增加趣味性
3. 设计问题或话题来激发评论和互动
4. 适当使用标签和话题标记来增加曝光度
5. 让内容既有趣又具有分享价值
三、在创作过程中,你会按照如下格式进行:
一. 选定一个主题
二. 创作引人入胜的文本内容
三. 选择或制作相应的图片或视频
四. 添入适当的表情符号和网红热词
五. 创作一个既有趣又能引发互动的朋友圈帖子
请根据以上步骤,创作一条朋友圈帖子,并按以下格式输出:
[帖子的内容]
[配图/视频(如果有)]
小说故事风格
你是一名小说创作人,你的任务是编织一个引人入胜的故事。请遵循以下步骤进行创作:
一、在故事的情节和主题方面,你会运用以下技能:
1. 构思一个吸引人的故事开端
2. 设计复杂而引人入胜的角色和冲突
3. 将故事线索巧妙地编织在一起
4. 探索深刻的主题和人性的多面性
5. 使用意外转折和高潮来增强故事的吸引力
二、在故事的叙述和风格方面,你会运用以下技能:
1. 使用生动的描述来营造场景和氛围
2. 通过角色的对话和内心独白展现其性格
3. 使用多种叙述视角来丰富故事
4. 运用细腻的语言和修辞手法
5. 创作具有流畅节奏和紧凑布局的故事
三、在创作过程中,你会按照如下格式进行:
一. 设定故事背景和主要角色
二. 描述故事的起因和发展
三. 构建冲突和高潮
四. 描绘解决问题的方式和故事结局
五. 创作一个完整的故事
请根据以上步骤,创作一篇小说故事,并按以下格式输出:
[故事的标题]
[故事的内容]
近代诗歌风格
你是一名热爱近代诗歌的创作人,你的任务是创作一首蕴含深刻情感和哲理的诗歌。请遵循以下步骤进行创作:
一、在诗歌的主题和情感方面,你会运用以下技能:
1. 挖掘深层次的情感和内心体验
2. 使用隐喻和象征手法表达情感
3. 从个人经历和观察中汲取灵感
4. 探索人性、自然与社会之间的关系
5. 运用多种感官描述来增强诗歌的表现力
二、在诗歌的形式和结构方面,你会运用以下技能:
1. 创作自由诗或固定格式的诗(例如,抒情诗、叙事诗)
2. 使用韵律和节奏来增强语言的音乐性
3. 运用空间排版和行间距来创造视觉效果
4. 合理布局诗句,使得整体布局和谐
5. 使用复杂但优美的语言和词汇
三、在创作过程中,你会按照如下格式进行:
一. 选择一个主题
二. 描绘你的情感和思考
三. 使用具体的形象和象征
四. 融入音乐性的语言和节奏
五. 创作出一个完整的诗歌作品
请根据以上步骤,创作一首诗歌,并按以下格式输出:
[诗歌的标题]
[诗歌的内容]
微商宣传风格
你是一名微商营销内容创作高手,你的任务是创造吸引人的宣传内容,以促进产品销售。请按照以下步骤进行创作:
一、在营销内容的主题和风格方面,你会运用以下技能:
1. 突出产品的独特卖点
2. 使用吸引人的语言和口号
3. 结合生活化的场景来展示产品的实用性
4. 运用故事性的描述来吸引潜在客户
5. 强调产品如何解决特定问题或满足需求
二、在营销内容的结构和布局方面,你会运用以下技能:
1. 创建简洁明了的标题
2. 编排清晰、易读的文本内容
3. 使用生动的图片或视频来增强信息传递
4. 合理安排互动元素(如问答、评论互动)
5. 在内容末尾添加引导购买的呼吁和联系方式
三、在创作过程中,你会按照如下格式进行:
一. 选择一个产品
二. 描述产品的特点和优势
三. 使用具体案例或用户评价
四. 提供购买信息和联系方式
五. 创造一个引人入胜的营销文案
请根据以上步骤,创作一份营销内容,并按以下格式输出:
[营销内容的标题]
[营销内容的正文]
联系方式:[微信号/其他联系方式]
5.局部功能体验优化
在整个代码工程中,自动生成的Gradio代码或许没有办法100%贴合你的需求,您也可以选择基于原有的工程代码进行反复提问与优化,提供您更详细的需求设计。
这个过程是很有趣的,可以激发每个人自己的创意。
如:单选框优化
img
import gradio as gr
from PIL import Image
import requests
# 假设您已经有函数来处理图像识别和调用文心一言模型
def image\_recognition(image):
# 图像识别处理,返回识别的关键信息
return "关键信息"
def generate\_text(key\_info, style):
# 根据关键信息和风格生成文本
return "生成的文本"
# Gradio应用界面
def process\_image(image, style):
key_info = image_recognition(image)
text = generate_text(key_info, style)
return text
# 定义Gradio界面
iface = gr.Interface(
fn=process_image,
inputs=[gr.Image(type="pil"), gr.Radio(["朋友圈", "小红书", "微博", "抖音"])],
outputs="text"
)
# 运行Gradio应用
iface.launch()
img
(逐步修改后的运行效果图)
如:非空校验提醒
img
img
(运行效果截图)
6.完整项目结构
main.py示例代码:
import gradio as gr
from PIL import Image
import base64
import io
import PaddleOCR,resnest101
import erniebot
def image\_to\_base64(pil\_image):
# 将PIL图像转换为字节流
buffered = io.BytesIO()
pil_image.save(buffered, format="JPEG") # 您可以根据需要更改格式
# 获取字节流并转换为Base64
img_str = base64.b64encode(buffered.getvalue()).decode()
return img_str
# 假设您已经有函数来处理图像识别
def image\_recognition(image):
img_base64 = image_to_base64(image)
text = PaddleOCR.Img_To_Text(image_base64 = img_base64)
# print(text)
desc = resnest101.describe(image_base64 = img_base64)
# 图像识别处理,返回识别的关键信息
return text,desc
# 调用文心一言模型
def get\_ernie\_response(user\_message):
# 配置文心一言模型
erniebot.api_type = 'aistudio'
erniebot.access_token = '这里填写你的文心一言ACCESS\_TOKEN'
# 调用模型
response = erniebot.ChatCompletion.create(
model='ernie-bot',
messages=[
{
'role': 'user',
'content': user_message
}
]
)
# 获取并返回结果
return response.get_result()
def generate\_text(key\_info, style):
if style == '抖音':
prompt = '以抖音的风格描述这张图片的信息,为我配一段文字,图片的描述信息是:'
elif style == '朋友圈':
prompt = '你是微信朋友圈社交达人,为我配一段文字,图片的描述信息是:'
elif style == '微博':
prompt = '你是微博达人,为我配一段文字,图片的描述信息是:'
elif style == '小红书':
prompt = '你是小红书生活达人,为我配一段文字,图片的描述信息是:'
elif style == '近代诗歌':
prompt = '你是善于诗歌创作的近代诗人,为我配一段文字,图片的描述信息是:'
elif style == '微商营销':
prompt = '你是善于将自己产品进行推广的微商营销,你要努力让用户购买你的产品,请你为我配一段文字,图片的描述信息是:'
text,desc = key_info
user_msg = prompt + str(desc) + '另外结合文本信息:' + str(text) + '综合进行描述'
result = get_ernie_response(user_msg)
# 根据关键信息和风格生成文本
return result
# Gradio应用界面
def process\_image(Style,Image):
if Style is None or Image is None:
return "❌ 请提供有效的风格和图片!"
key_info = image_recognition(Image)
text = generate_text(key_info, Style)
return text
# 定义Gradio界面
iface = gr.Interface(
fn=process_image,
inputs=[gr.Radio(["朋友圈", "小红书", "微博", "抖音","近代诗歌",'微商营销'],label="风格"),gr.Image(type="pil", label="图片",height = 500,width=720)],
outputs="text",
title="🏆 文案助手(图文生成应用)",
description="这是 🏆 文案助手,一个图文生成应用。请上传一张图片,并选择一种风格(如朋友圈、小红书、微博、抖音),应用会根据您的选择生成相应的文本文案信息。"
)
# 运行Gradio应用
iface.launch()
7.应用部署上线流程
创建项目
进入AI Studio创建Notebook项目。
启动环境
点击启动环境后,选择合适的运行资源进入项目内。
上传文件
进入环境后,我们 可以看到BML CodeLab界面,在左侧菜单栏,将我们项目相关的本地文件上传即可。
img
依赖安装
缺什么库安装什么即可。
- 新建启动页,打开终端页面
img
img
- 使用 pip 安装 erniebot:在命令行界面中输入以下命令,按下回车执行:
pip install erniebot
- 创建requirements.txt文件,便于后续应用部署使用,文件仅限输入依赖 erniebot 即可,若有多个依赖库可以换行输入。
img
创建应用gradio
使用gradio应用可以在线运行并预览,相比直接运行main.py会更方便的看到动态运行的效果。
img
应用部署
首次部署时,弹窗内选择“部署新应用”。
img
填写应用信息后,即可提交部署。
img
提交后可以在右下角看到部署的状态信息,成功后则可以进行体验了啦 🎉
img
img
写在最后
在这个社交媒体盛行的时代,每个人都在尝试以自己独特的方式讲述自己的故事,而选择合适的文案来配合照片,往往成了一个难题。本项目的出现,正是为了解决这一挑战,它将先进的AI技术应用于照片分享,帮助用户一键生成创意文案,从而使分享变得更加轻松和有趣。
本项目不仅是技术的展示, 更是对创新思维的一种实践。 它结合了图像识别、OCR识别以及文心一言大语言模型等前沿技术,为用户提供了多样化的文案生成方案。无论是技术爱好者还是普通用户,都能从中受益,前者可以深入研究技术细节,而后者则能享受到AI带来的便利。
项目提供的多场景应用示例和丰富的交互逻辑,也为用户提供了广阔的探索空间。 用户可以根据自己的需求选择不同的风格模式,尝试着修改自己业务特点的Prompt提示词,并体验从图片到文案的智能转换过程。 这不仅是一个工具的使用体验,更是一次对AI与创意结合的探索之旅。
最后,我想说的是: 本项目的实践和探索过程,鼓励每个人都可以成为创新者。无论是对技术的好奇、对创意的追求,还是对分享美好生活的渴望,都可以在这里找到满足。 我们期待每位用户都能在这个平台上,发现自己的创意,记录并分享生活中的每一个精彩瞬间。
(👆点击图片了解活动详情)
是不是厌倦了枯燥的开发生活,想来点新鲜刺激的事情?赶紧加入「大模型摇摇乐」活动吧!释放你的创意,摇出创意,摇出喜爱,摇出礼品!无论你是代码新手还是技术大咖,只要你对大模型充满好奇心,我们都欢迎你的加入!
< 全文完 >