daily-2023-04-28

2023-04-28 21:34:17 使用docker容器与AzureOpenAI服务实现chatgpt本地化部署

最近几个月,人工智能发展飞速,出现了很多基于人工智能的应用。很多人反馈使用ChatGPT很好地提高了自己的生活和工作效率。有道是:AI用得好,工作下班早。

我一直对新鲜事物比较感兴趣,之前写过一篇介绍试用ChatGPT的感受的文章,当时好些朋友咨询我怎么使用,发现流程挺繁琐,就慢慢放弃或转投他径了。确实由于网络的限制,我平常也用得不很少,每次都要获取IP,刷新登录啥的挺麻烦,特别是三月初大规模封号事件还让我忐忑了一阵没敢登录使用。当然也还有替代的如new bing和文心一言,但前者现在也网络限制了,后者使用体验一般。同事们想用的时候会临时找我用一下。我想着,要是有一个国内的或者本地化的类ChatGPT服务该多好啊。

这不,上周听说兄弟单位已经借助微软服务实现了企业微信chatgpt机器人部署。我向领导打听,才知道微软也给我们单位提供了个测试账号,领导让我自己先研究一下。

于是趁节前有些时间,我开始了chatgpt本地化部署探索。说真的,当看到机器人聊天界面出来那一刻,心情还是挺开心的,虽然回头发现没有啥技术含量,但从摸不到门到闯出一条路的成就感还是挺受用的。感谢github,感谢网络上的前辈们的提前探索,让我只需要像组装积木一样拼好就可以用了。

以下记录这次搭建的过程:

  1. 明确目标。最开始是打算实现和兄弟单位一样的功能,但和领导沟通后,考虑到网络安全等方面因素,决定先搭建一个本地局域网可访问的网页版。
  2. 资源盘点。我能折腾的资源有openAI服务的密钥、自己的电脑、NAS服务器、Github等网络资源。如果后续要在企业微信上应用,还要有一台公网ip。
  3. 理清思路。既然只需要局域网用,Docker是一个很好的部署方式。问了微软技术以及网上搜了相关教程后,确定了搭建思路,就是把github对应的库代码克隆到本地打包成docker镜像,在单位私有云的docker里面应用,打开网页地址就可以访问了。
  4. 实际操作。第一步,选定好代码库,从微软技术给了一个文档里面选了个代码都不用改的库。第二步,docker上部署。开始准备拿到私有云的ssh权限,同事说ssh不安全先不开。于是我退而求其次,可以先用自己的电脑安装部署docker,其实我脑子里只有docker的基本概念,并没有实际操作过,通过边学边用,我理清楚了代码到镜像到容器运行的步骤,顺利地实现了代码克隆、打包制作镜像和容器化运行。第三步,配置参数运行。把参数一一设置好,看到了期待以久的界面,我试着向机器人发了个问题,结果提示我model不对。我从拼装的调用代码推断出是我运行时填的model参数不对,修改后,果然能顺利运行了。
  5. 转移至私有云上的docker运行。想想我的电脑不能做服务器用,还是在私有云服务器上跑比较好。了解了docker原理,后面的路就顺利了。开始打算把我的镜像在docker hub里注册,但网络原因还是啥的报错,于是想可以把本地镜像打包后在nas里面安装,找到打包命令后拿到了镜像文件,上传到nas,填入参数后启动容器,发现页面打不开,修改参数重启容器后,久违的界面出来了。

总结:通过今天的探索搭建,领教了Docker的强大。具体收获有:1.学到了docker概念和本地化部署。2. 更新了自己的sublime和vscode的IDE工具 3. 只要肯折腾,积极寻找帮助,问题总能迎刃而解。后续工作:1.读懂代码逻辑。2.实现定制化修改。3.扩展试用范围和应用场景。

参考材料

  1. 内部通用型ChatBot – 类似于换壳ChatGPT体验。 以下两个库都是基于Azure OpenAI部署,不需要修改代码即可使用。
    a. https://github.com/linjungz/azure-chatgpt-ui Web版本体验,轻量化
    b. richardeee/azure-chatgpt-clone (github.com) 仿ChatGPT界面,增加AAD登录账户系统

作者: Carlxu

Carlxu Tag:90后、早熟、职业经历丰富、终身成长。 新进医疗行业的前程序员,现任职于某省级医疗机构信息中心。 早熟:3岁学前班、15岁上大学、23岁硕士毕业,24岁成家。 职业经历丰富:6年换了4份工作,体验了国企、民企、机关、事业单位的工作方式,拥有市级-省级-国家级机关内的工作经历。 读书成家早,那是听从家人安排。跳槽多,那是缺少职业规划。31岁这年,我成了两个娃的爸爸。 今后,我将和“大橙小原”一起,不断习得新技能、在一个领域深耕、为自己的选择负责,终身成长为更好的自己。 感谢您对我的关注,很高兴能认识您! 让我们携手同行,体验未知世界的精彩。

发表评论