ChatGPT小程序接口对接教程

释放双眼,带上耳机,听听看~!
了解如何通过Uniapp将ChatGPT接口对接到小程序,免费使用GPT3.0进行文本生成。

1、背景

最近ChatGPT大火,各大媒体媒介都被刷屏了。很多人,也开发了小程序、网页接入官网的GPT3.0接口。然而,这些应用大部分问不到几句就开始要收费了。于是,我就自己做了一个免费版小程序玩一下(接入Plus接口也是免费,免费进行到底)。PS:之前用itchat接入过。但微信容易被封不推荐。公众号自动回复有5秒限制也不太推荐。

2、准备工作

3、开始拼接

3.1 安装SDK

在fastadmin项目根目录下执行:

composer require tectalic/openai

3.2 接入SDK

这里提供简单Demo,具体业务逻辑大家自己封装

$auth = new Authentication('你的接口key');
$httpClient = new Psr18Client(HttpClient::create(['verify_peer' => false, 'verify_host' => false]));
$client = new Client($httpClient, $auth, Manager::BASE_URI);

$response = $client->completions()->create(
    new TectalicOpenAiModelsCompletionsCreateRequest([
        'model'  => 'text-davinci-003',
        'prompt' => $question, // 这里是用户提交过来的问题
        'max_tokens' => 2400, // 这里可以根据需要调整
    ])
)->toModel();

var_dump($response->choices[0]->text);

3.3 小程序接口对接

很少接触前端业务,所以这里代码可能写得不是很好。大佬们勿喷

that.$api.post({
        url: that.$tern_config.appurl + that.$path.common.ai,
        data: {
                msg: that.content
        },
        dataType: 'json',
        success: rs => {
                // 对返回结果进行处理
                let pattern =
                        /(https?|http|ftp|file)://[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]/g
                        
                // 提取图片地址,有时接口返回图片格式:![图片主题](图片地址)
                let imgs = rs.match(pattern)
                imgs = imgs ? imgs : []
                
                // 过滤图片url信息/ n 字符
                let text = rs.replaceAll("openai:", "")
                        .replaceAll(pattern, "")
                        .replaceAll(/![.*?]()/g, "")
                        .replaceAll(/^n|n$/g, "")

                that.msgList.push({
                        "msg": text,
                        "my": false,
                        "img": imgs
                })

                that.msgContent += ("openai:" + that.msg + "n")
                that.msgLoad = false
                that.scrollToBottom()
        },
        fail: rs => {
                // 有时候,接口响应比较久。超过设定timeout
                that.msgList.push({
                        "msg": '抱歉,您说的我还不懂',
                        "my": false,
                        "img": []
                })

                that.scrollToBottom()
                that.msgLoad = false
        }
})

4、成果展示

ChatGPT小程序接口对接教程

5、其他

现在国内真正训练得不错的AI模型大概有:百度文心(三月结束内侧)、华为盘古(只从会议视频上了解过)、浪潮的源1.0(正在接入、学习中)。(其他欢迎大佬们补充)

在掘金潜水很久了,这是我的第一篇文章。个人感觉没多少干货,主要受不了一些披了一层就在那边吆喝叫卖的应用。所以,写得不好。大佬们轻喷。

下一步,打算用vits进行游戏或动漫角色语音合成。让GPT返回的信息,可以用语音播放出来。有兴趣的大佬可以一起聊聊。

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

基于GPT-3.5模型的智能AI代码生成工具Cursor研究

2023-12-21 12:46:14

AI教程

大模型时代下的学科交叉研究:以政治人物建模为例

2023-12-21 12:59:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索