背景:随着人工智能的普及,现在更多人愿意使用AI来实现问题的解决,如国内的文心一言,它其实就是一个应用,基于飞桨深度学习平台。今天我们来讲一个本地实现chatgpt应用的案例。[基于openAi的chatgpt调用,由于OPENAI隶属于外网,所以要搭梯子。这边我请求国内模型服务厂家“零一万物”(其通过代理的形式来请求OPENAI中GPT模型的接口)提供的API来进行调用]。
使用技术:
模型名称:yi-large
接口:https://api.lingyiwanwu.com/v1/chat/completions
文档地址:https://platform.lingyiwanwu.com/docs/api-reference#create-ch...

说明点:此接口返回的是一个流式的字符串。为什么要用流式的形式调用呢?
因为要解决模型思考期间产生的用户等待时间问题,所以服务端咱们通过NODEJS中readableStream()来构建流,通过监听readableStream.on("data",callback)事件实现打字机的效果。(此事件回调函数提供一个参数chunk,数据格式为Buffer,代表总ArrayBuffer里的数据的一小段,拿到后进行数据处理。
注:有时候会接收到断层的数据,这种行为是不可预知的,所以服务端采用try,catch形式进行兼容处理。)

项目地址:https://gitee.com/tlyangzai/chatgpt


阳哥
14 声望0 粉丝

一个code爱好者,一个户外运动的爱好者,一个喜欢音乐的爱好者。