【AI开发系列】对接OpenAI必经之路!

大家好,我是LV。 目前所有业余时间已经All In AI, 最近团队在开发AI产品的时候遇到了两个问题,只要你对接了OpenAI,那必然遇到过。

大家好,我是LV。

目前所有业余时间已经All In AI,深度研究AI副业,组队打造AI自媒体矩阵 & 组队开发AI产品

最近团队在开发AI产品的时候遇到了两个问题,只要你对接了OpenAI,那必然遇到过,话不多说,开始整活。

内容很干很充实,建议点赞、评论、收藏防失联,同时也分享给周围需要的朋友。

所有资料、代码在文末可免费自取

什么问题

先简单介绍一下我们的产品,该产品是我们社群的2号车产品(Creator AI),跟微软合作对接了Azure OpenAI接口,第一版提供不同角色模型的AI会话能力,同时支持自定义AI模型。

目前使用OpenAI的能力主要有2个主流渠道,目前这2种渠道提供的API能力无差异。

1、对接OpenAI官方提供的API。(目前在国内使用可能会被随时封禁,个人兴趣开发者可选择)

2、对接微软Azure提供的OpenAI能力(目前国内唯一合规渠道,但是申请需企业资质)

以上2种渠道的具体申请方式本文不展开,如需要资料或需疑问解答,可以留言反馈(留言请描述清楚你的问题)。

如你已经申请到了OpenAI的使用权(2种渠道均可),接下来我们一起来踩坑吧!

1、速度问题

网络原因导致的速度慢

OpenAI的服务器节点部署在国外,由于数据传输需要经过境外网络(以及“某些”原因),网络延迟可能会比较高,影响API调用的响应时间。

针对这个问题,有很多解决方案,常见的比如使用CDN加速、租用专线、代理服务等。

笔者本文提供的解决方案是CDN加速 + 代理服务

使用CDN技术,将数据分布在多个网络节点上,让用户从距离最近的节点获取数据,减少延迟并实现网络加速。

代理服务这里不详细说。

说到CDN加速,笔者第一个想到的就是Vercel这个大良心平台,Vercel是一家致力于优化现代网站部署和开发工具链的公司,Vercel的CDN网络覆盖全球许多地区和城市,拥有丰富的节点资源,用户可以从距离最近的节点获取数据,实现网络加速。

关键是免费额度用到你手软,作为个人开发者来说,完全够了,如果流量大,也有定制化的付费套餐,声明一下哈,我没有接Vercel的广告,只是个人在这个平台受益匪浅。

老粉丝知道,笔者之前写过一篇文章《手把手教你如何在国内搭建ChatGPT访问网站!!!》,在这篇文章详细地说了如何借助Vercel的能力来搭建一个在国内可以快速访问的GPT网站。

那么,如何在Vercel上部署一个OpenAI的代理服务呢?

笔者已经将所有的代码和资料都整理到了社群的Github开源项目中。

包括项目的功能特性、解决了什么问题、如何本地调试、如何部署Vercel进行CDN加速、如何使用OpenAI代理服务、以及如何参与开源代码贡献等等。

【AI开发系列】对接OpenAI必经之路!

【AI开发系列】对接OpenAI必经之路!

按照README文档部署了openai-proxy-vercel之后,你就可以在国内快速使用OpenAI服务了。

没有对接Stream传输导致的速度慢

在你的网络已经通畅的情况下,此时影响速度还有一个重大的原因,那就是没有对接Stream传输。

OpenAI提供了Stream式数据传输,简单理解就是将数据一段段进行传输,有什么数据就先传输什么数据,而不是等待所有的数据都生成了,再一起性传输

那么,如何对接Stream式数据传输呢?

同样笔者已经将Stream式集成到了openai-proxy-vercel中,在请求的参数中携带stream: true即可开启流式模式。

【AI开发系列】对接OpenAI必经之路!

此时,服务端传输给前端的数据已经是EventStream类型了。

【AI开发系列】对接OpenAI必经之路!

那么,前端如何来进行解析呢?

没错,笔者开源了另外一个项目,包括在不同的环境下,如何来解析OpenAI 的 Stream。

【AI开发系列】对接OpenAI必经之路!

如上两套组合拳打完之后,速度已经不是门槛,接下来我们看一下稳定性的问题。

2、稳定性问题

根据我们开发过程中的实践经验,当解决了速度问题之后,绝大部分的会话都是比较稳定的了,但是OpenAI这边还是有小几率出现不稳定的现象,就好比在ChatGPT官网上使用的时候,有几率会报错。

那么,如何解决呢?

经过测试,当第1次OpenAI报错,此时进行第2次请求,一般都会成功,于是我们在每次会话的请求中加入了超时重试机制,默认设置超时10s重试1次。

相关的DEMO已经放在开源项目的demo文件夹下,供你参考。

【AI开发系列】对接OpenAI必经之路!

如果此时你看到了这里,感谢你的耐心阅读,笔者将所有的代码、相关资料汇总到了后台,请看下方资料包。

资料包

上述所有的代码均已放入AI应用大爆炸官方GitHub团队仓库中,建议Star,Follow,以防失联,欢迎提供Issue、PR,代码贡献者我们会邀请你入小群,参与我们的AI产品研发迭代。

GitHub Group:github.com/orgs/Ai-Big…

OpenAI代理服务项目:github.com/Ai-Big-Bang…

OpenAI Stream解析项目:github.com/Ai-Big-Bang…

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
人工智能

【AI开发系列】对接OpenAI必经之路!

2024-4-30 15:32:06

人工智能

AI 极客日报 8012 - Google 发布 “Project IDX”

2024-4-30 19:32:23

【AI开发系列】对接OpenAI必经之路!

大家好,我是LV。 目前所有业余时间已经All In AI, 最近团队在开发AI产品的时候遇到了两个问题,只要你对接了OpenAI,那必然遇到过。

大家好,我是LV。

目前所有业余时间已经All In AI,深度研究AI副业,组队打造AI自媒体矩阵 & 组队开发AI产品

最近团队在开发AI产品的时候遇到了两个问题,只要你对接了OpenAI,那必然遇到过,话不多说,开始整活。

内容很干很充实,建议点赞、评论、收藏防失联,同时也分享给周围需要的朋友。

所有资料、代码在文末可免费自取

什么问题

先简单介绍一下我们的产品,该产品是我们社群的2号车产品(Creator AI),跟微软合作对接了Azure OpenAI接口,第一版提供不同角色模型的AI会话能力,同时支持自定义AI模型。

目前使用OpenAI的能力主要有2个主流渠道,目前这2种渠道提供的API能力无差异。

1、对接OpenAI官方提供的API。(目前在国内使用可能会被随时封禁,个人兴趣开发者可选择)

2、对接微软Azure提供的OpenAI能力(目前国内唯一合规渠道,但是申请需企业资质)

以上2种渠道的具体申请方式本文不展开,如需要资料或需疑问解答,可以留言反馈(留言请描述清楚你的问题)。

如你已经申请到了OpenAI的使用权(2种渠道均可),接下来我们一起来踩坑吧!

1、速度问题

网络原因导致的速度慢

OpenAI的服务器节点部署在国外,由于数据传输需要经过境外网络(以及“某些”原因),网络延迟可能会比较高,影响API调用的响应时间。

针对这个问题,有很多解决方案,常见的比如使用CDN加速、租用专线、代理服务等。

笔者本文提供的解决方案是CDN加速 + 代理服务

使用CDN技术,将数据分布在多个网络节点上,让用户从距离最近的节点获取数据,减少延迟并实现网络加速。

代理服务这里不详细说。

说到CDN加速,笔者第一个想到的就是Vercel这个大良心平台,Vercel是一家致力于优化现代网站部署和开发工具链的公司,Vercel的CDN网络覆盖全球许多地区和城市,拥有丰富的节点资源,用户可以从距离最近的节点获取数据,实现网络加速。

关键是免费额度用到你手软,作为个人开发者来说,完全够了,如果流量大,也有定制化的付费套餐,声明一下哈,我没有接Vercel的广告,只是个人在这个平台受益匪浅。

老粉丝知道,笔者之前写过一篇文章《手把手教你如何在国内搭建ChatGPT访问网站!!!》,在这篇文章详细地说了如何借助Vercel的能力来搭建一个在国内可以快速访问的GPT网站。

那么,如何在Vercel上部署一个OpenAI的代理服务呢?

笔者已经将所有的代码和资料都整理到了社群的Github开源项目中。

包括项目的功能特性、解决了什么问题、如何本地调试、如何部署Vercel进行CDN加速、如何使用OpenAI代理服务、以及如何参与开源代码贡献等等。

【AI开发系列】对接OpenAI必经之路!

【AI开发系列】对接OpenAI必经之路!

按照README文档部署了openai-proxy-vercel之后,你就可以在国内快速使用OpenAI服务了。

没有对接Stream传输导致的速度慢

在你的网络已经通畅的情况下,此时影响速度还有一个重大的原因,那就是没有对接Stream传输。

OpenAI提供了Stream式数据传输,简单理解就是将数据一段段进行传输,有什么数据就先传输什么数据,而不是等待所有的数据都生成了,再一起性传输

那么,如何对接Stream式数据传输呢?

同样笔者已经将Stream式集成到了openai-proxy-vercel中,在请求的参数中携带stream: true即可开启流式模式。

【AI开发系列】对接OpenAI必经之路!

此时,服务端传输给前端的数据已经是EventStream类型了。

【AI开发系列】对接OpenAI必经之路!

那么,前端如何来进行解析呢?

没错,笔者开源了另外一个项目,包括在不同的环境下,如何来解析OpenAI 的 Stream。

【AI开发系列】对接OpenAI必经之路!

如上两套组合拳打完之后,速度已经不是门槛,接下来我们看一下稳定性的问题。

2、稳定性问题

根据我们开发过程中的实践经验,当解决了速度问题之后,绝大部分的会话都是比较稳定的了,但是OpenAI这边还是有小几率出现不稳定的现象,就好比在ChatGPT官网上使用的时候,有几率会报错。

那么,如何解决呢?

经过测试,当第1次OpenAI报错,此时进行第2次请求,一般都会成功,于是我们在每次会话的请求中加入了超时重试机制,默认设置超时10s重试1次。

相关的DEMO已经放在开源项目的demo文件夹下,供你参考。

【AI开发系列】对接OpenAI必经之路!

如果此时你看到了这里,感谢你的耐心阅读,笔者将所有的代码、相关资料汇总到了后台,请看下方资料包。

资料包

上述所有的代码均已放入AI应用大爆炸官方GitHub团队仓库中,建议Star,Follow,以防失联,欢迎提供Issue、PR,代码贡献者我们会邀请你入小群,参与我们的AI产品研发迭代。

GitHub Group:github.com/orgs/Ai-Big…

OpenAI代理服务项目:github.com/Ai-Big-Bang…

OpenAI Stream解析项目:github.com/Ai-Big-Bang…

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
人工智能

通义千问开源模型部署使用

2024-4-30 13:32:19

人工智能

【AI开发系列】对接OpenAI必经之路!

2024-4-30 17:32:20

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