AI 助理
开发者信息
开发者:太南了 联系方式:扫码进行付费咨询 模板开发者提供有偿咨询 & API代理服务,内容如下:
- 1V1 咨询:对完整实现思路视频介绍答疑+其他项目内容交流(从申请主体、到API选型、实现方式踩坑、产品方向定位的思考等),300元/小时。
- OpenAI API代理,代理后国内可使用 openai API,高速转发且无请求速度限制+安全性保障。100元/年。
- 其他代开发、账号申请一条龙个性化服务,可沟通需求后确认。
模板简介
本模板为基于 OpenAI API(GPT)的智能对话应用,只需简单的配置,便可以自定义自己需要的对话场景,包装你的 AI 应用。
亮点能力
- 支持多助理模式,一个小程序内打造多种玩法
- 使用最新的 Assistant 系列 API,支持 function call,可在对话基础上构建更闭环的场景
- 已接入支付、广告能力
使用文档
实现思路介绍
注:数据模型中仅放了部分核心字段,完整建模可在项目中查看。 暂时无法在飞书文档外展示此内容 核心参考文档:
发布你的第一个版本
前期准备
获取 OpenAI API 账号
注册 OpenAI API 需要海外信用卡,且注册时需要海外的网络环境,所以这里我使用了 wildcard 的服务来进行 API 申请。申请流程 这里不再赘述。
wildcard 了提供从虚拟海外信用卡到申请 API 时需要用到的网络环境的一条龙服务,年费 11.9 刀,使用我下面的地址注册可以立减 2 刀,也就是 9.9 刀/年。注册地址
如果你已有注册好的 OpenAI API,或有其他方式可以使用 OpenAI API 可以跳过本步骤。
获取 OpenAI API 代理
由于OpenAI API 的请求在墙内无法访问,因此需要代理转发服务,来保证国内网络可以正常使用。这里提供几种思路:
- 如果你已经购买了标准版及以上的版本,可以找我获取代理。
- 如果没有,也可以选择通过其他方式获得代理,比如 wildcard 也提供了 API 的转发服务,定价比官方贵约 10%,可根据自己需求选择。
- 再比如开发者 提供了免费的代理服务,但有 RPS(每秒请求接口次数)限制。GitHub 上也提供了较多类似服务。注意:使用互联网上的此类服务时需要甄别下,因为使用其他人的代理,会有暴露自己 OpenAI key 的风险,需慎重使用。
- 也可以按照教学视频 ,使用 cloudflare 免费搭建自己的代理。亲测可用,但是有时候会有点慢。
申请小程序
此处不展开,可按照 zion 官方说明文档进行申请、授权。 注意:个人主体的小程序暂不支持 AI 问答类目,所以需要申请企业主体的小程序,个体户/企业均可。 如果你购买了,此处放相关链接。
注册 Assistant
如果你对 API 的基本原理不了解,建议先学习 zion 的官方文档-API,并下载学会 postman 的基础使用。 可参考 OpenAI 官方的API文档 ,使用 postman 创建自己的 Assistant。这里可以多试一下,在 postman 把 Assistants、threads、messages、runs 的几个主要流程跑一下,项目的内核就理解得七七八八了。如果英文文档不方便,可以打开翻译模式或搜一个中文的 API 文档,网上有网友翻译过的。
Api 文档 | 调用结果 |
---|---|
![]() | ![]() |
替换模板内的操作
更换 api 配置中的地址
将模板-第三方 API 中的请求地址中的 api.openai.com 替换为自己代理后的域名,如 api.openai-proxy.com。默认的地址为官方的请求 API,无法在墙内访问。
一共有 6 个 API,前 5 个分别对应为用户创建一个会话、把用户发送的消息传入会话中、请求助手回复会话、查看助手回复的运行进度、获取会话列表的消息,这也是一个完成会话的基本流程。最后一个“响应助手”只有在 function call 模式下会用到,具体可参照官方 API 文档。
配置界面 | 配置界面 |
---|---|
![]() | ![]() |
更换行为流中 API 相关请求参数
项目共计用到 10 个行为流,其中 7 个为微信支付相关的,不需要额外调整;只有两个与实际业务流程相关,即图中的“查看运行情况并处理数据”与“获取新增消息并写入数据库”,最后一个“每秒查看运行情况并处理数据可不用关注”。
获取新增消息并写入数据库行为流,用于掉 OpenAI 的获取会话消息接口,用于查询 AI 向会话中添加的消息。之所以需要使用行为流,是因为这个 API 返回的结构比较复杂,使用 zion 自带的方式不太容易获取到数据,因此用了一段代码块,来获取 API 返回的消息,并把消息写入数据库。代码块相关的部分可以从代码块学习,可先作为选修内容。
查看运行情况并处理数据用于调“查看助手运行情况”情况,并根据接口返回的结果为“运行完成”“运行中”“需要响应”来判断下一步是执行“获取数据”“等待再次运行”还是“响应 AI”。这个行为流也是只有 function call 模式下需要用到,如果只需要对话类应用,则无需关注。
两个行为流中,因为涉及到 API 的请求,所以需要将其中的参数(API key)更换为自己的。
在调用接口转化返回值中,需要替换 API ID 与 authorization 两个参数,前者是指这个 API 的 id,后者是指你的 API key。API 的 id 需要下载软件 Altair 查看,具体流程可以参考API部分,查看获取 API id 的方式。
在查看运行情况并处理数据行为流中,同样需要替换掉三个地方的 API 参数。
自定义代码块 | 自定义代码块 | 自定义代码块 |
---|---|---|
![]() | ![]() | ![]() |
更换页面远程数据中的 API 参数
对话页面中,绑定了一系列远程数据,用于获取数据库中最新的会话、聊天记录。为了优化用户初次进入聊天窗口的体验,这里将部分 API 放在了远程数据中——进入页面时会判断是否有会话,若无,则调用创建会话 API。需替换相应参数。
更换计时器中的 API 参数
同样,因为我们要在用户发送消息后不断去轮询 AI 是否已经完成回复了消息,因此需要将“查询 AI 运行状态”的 API 放在一个计时器中,在计时器结束后请求 API,因此,还需要替换页面中计时器组件的参数。如下:
替换发送按钮行为中的 API 参数
最后,当用户点击输入框发送按钮时,我们会去请求添加消息 API 和请求 AI 运行 API,同样需要替换这两个地方的参数。注意,在发送按钮上有好几层分支判断,包括判断用户是否有登录、是否有会话次数,需要全部替换。 这里有个操作技巧,是把其中一个分支完成替换后,直接将替换后的行为复制到其它分支上。 对于添加消息 API,依然只需要替换密钥;而对于请求助手运行 API,还需要替换助手 ID,以实现不同特性的 AI 回复机器人。
以上,便是上线 V1.0 版本你需要准备的内容。完成这些内容后,可以尝试预发布小程序,并在手机端预览效果。
进阶功能配置
- 替换/新建自己的 Assistant 场景
- 使用 function call 让场景更完善