零基础也能搞定文案生成应用,半小时包教包会!「大模型摇摇乐」硬核教程来啦!

大模型趣味赛「大模型摇摇乐」活动火热进行中。想要更加了解本次活动的规则并拿到更丰富的奖励吗?快来看本教程吧!本文将以“AI 一键生成文案”为例进行教程讲解~
项目简介
设计背景
为什么做这个项目
在社交媒体日益流行的时代,许多人在分享照片时常常苦恼于如何配文,本项目让每张照片都能轻松配上合适的文案。
提供了什么能力
结合了飞桨图像识别和文心大模型的处理技术,能够智能分析照片内容,并根据分析结果生成有创意的文案。
解决了什么问题
用户上传照片,一键自动生成文案,解决了用户在分享照片时“想不到文案”这一问题。
效果展示
🐬 小红书风格:今天去看了海洋馆,写一篇小红书推文!

🤔 近代诗歌风格:看到良辰美景,想要吟诗作赋一首

体验地址
设计思路
交互逻辑
1.上传图片
2.选择风格
3.生成文案

数据流逻辑
1.上传图片
2.图像识别、OCR 识别
3.得到图片关键信息
4.风格选择
5.Prompt 模版适配
6.文心一言处理 Prompt+图片关键信息
7.输出文案

实现流程
根据不同 AI 原生应用场景,可以围绕以下 3 点设计产品功能:
支持用户上传图片
支持选择文案风格
支持自动生成文案
环境准备
请在下面三选一即可,如果您已经有 Python3.x 相关环境可直接进行下一步。
1.飞桨星河社区:
在线使用免费的 GPU 资源,Notebook 开发教程:https://www.bilibili.com/video/BV1Lw411n7oU
2.Anaconda 全家桶:
已包含 Python 和一些库,介绍、安装及使用教程:https://zhuanlan.zhihu.com/p/32925500
3.Python 官方网站:
https://www.python.org/ 进行下载安装。
Gradio 基础框架搭建
为什么选择 Gradio 作为 AI 的 UI 工具?
1.基于 Python:
Gradio 是基于 Python 开发的库,使用 Gradio 作为 UI 工具避免频繁切换复杂语言。
2.模块丰富:
支持多种输入和输出类型,包括文本、图像、音频等,同时还提供了丰富的界面组件。
3.简单易用:
快速构建交互式应用程序,无需繁琐的代码编写和复杂的配置。

Gradio 官方参考文档:https://www.gradio.app/guides/quickstart
1.打开命令行界面:打开命令行界面(例如 Windows 上的命令提示符或 Mac 上的终端)。
2.使用 pip 安装 Gradio:在命令行界面中输入以下命令,按下回车执行:

在项目工程文件使用时,只需导入 gradio 库即可,示例:


示例运行效果图
✍️初版设计
使用大语言模型生成代码:将需求告诉文心一言,便快速生成 Gradio 代码,并按照实际需求不断调整优化。
【用户】:

【回复】:


运行效果图现在基础交互框架搭建完毕,支持图片上传、样式选择、提交清除按钮、转换文本输出模块。接下来,结合实际业务流程补充代码模块。
功能设计与能力补齐
在产品设计中,需要利用图像识别和 OCR 能力进行图片分析,大语言模型的能力处理数据,下面将介绍如何使用相关能力进行应用设计:
ERNIE Bot SDK
ERNIE Bot SDK 提供便捷易用的接口,可以调用文心一言的能力,包含文本创作、通用对话、语义向量、AI 作图等,具体支持功能如下(更多功能持续更新中):
对话补全(Chat Completion)
语义向量(Embedding)
文生图 (Image Generation)
函数调用 (Function Calling)
介绍地址:https://aistudio.baidu.com/cooperate/yiyan

如何完成身份鉴权并使用?

在飞桨星河社区个人中心的访问令牌页面,大家可以获取到自己的 Access Token。
鉴权信息获取完整流程:https://github.com/PaddlePaddle/ERNIE-Bot-SDK/blob/develop/docs/authentication.md
ERNIE Bot SDK 开发完整教程可参考:ERNIE Bot SDK基础教程
👉 快速开始
1.打开命令行界面:打开命令行界面(例如 Windows 上的命令提示符或 Mac 上的终端)。
2.使用 pip 安装 ERNIE Bot:在命令行界面中输入以下命令,按下回车执行:

在项目工程中,只需导入 ERNIE Bot 库即可,示例:

✍️ 初版设计在这里将文心大模型的能力封装成一个 def 方法,便于其他模块进行调用交互:


运行测试结果图
百度智能云的图像识别功能可以精准识别超过十万种物体和场景,包含 10 余项高精度的识图能力并提供相应的 API 服务,充分满足各类开发者和企业用户的应用需求。可以将这部分的代码直接放到项目工程中,作为一个新的文件存储,并在主代码模块中进行模块引用,或者也可以将其封装成独立的函数方法。

在这里,将图像识别模型能力封装成一个 def 方法,便于其他模块进行调用交互:

截止目前,已经形成一个较为完整的项目结构:

应用部署上线
创建项目
进入飞桨星河社区创建 Notebook 项目。


启动环境
点击启动环境后,选择合适的运行资源进入项目内。


上传文件
进入环境后,可以看到 BML CodeLab 界面,在左侧菜单栏,将项目相关的本地文件上传即可。

依赖安装
缺什么库安装什么即可。
1.新建启动页,打开终端页面


2.使用 pip 安装 ERNIE Bot:在命令行界面中输入以下命令,按下回车执行:

3.创建 requirements.txt 文件,便于后续应用部署使用,文件仅限输入依赖 erniebot 即可,若有多个依赖库可以换行输入。

创建应用 Gradio
使用 Gradio 应用可以在线运行并预览,相比直接运行 main.py 会更方便的看到动态运行的效果。

应用部署
首次部署时,弹窗内选择“部署新应用”。

填写应用信息后,即可提交部署。

提交后可以在右下角看到部署的状态信息,成功后则可以进行体验了。


心动不如行动看完本项目教程,你对「大模型摇摇乐」活动是不是更心动了?还不赶紧来参加!

👆点击图片了解活动详情
是不是厌倦了枯燥的开发生活,想来点新鲜刺激的事情?赶紧加入「大模型摇摇乐」活动吧!释放你的创意,摇出创意,摇出喜爱,摇出礼品!无论你是代码新手还是技术大咖,只要你对大语言模型充满好奇心,我们都欢迎你的加入!
版权声明: 本文为 InfoQ 作者【飞桨PaddlePaddle】的原创文章。
原文链接:【http://xie.infoq.cn/article/21ca462c01e2edc9ee6b877a1】。文章转载请联系作者。
评论