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