水军大提督 发表于 2024-6-25 03:06:46

本地运行feishu-chatgpt项目结合内网穿透实现无公网IP长途访问

前言

本文主要介绍如安在飞书中创建chatGPT机器人并且结合内网穿透工具实现长途访问本地部署的AI智能机器人进行对话,在下面操作步骤中,使用到了Git克隆项目,需提前安装好Git,克隆的项目是Go语言项目,以是需提前安装Go语言环境。
环境列表



[*] Git
[*] Go1.20
1.飞书设置

首次注册飞书,我们可以创建个人账号
https://img-blog.csdnimg.cn/img_convert/cb9b628e088a8a6bc15a306a99df70c3.png#pic_center
进入后 我们创建一个飞书企业自建项目
https://img-blog.csdnimg.cn/img_convert/03c88447509c8576074316ec18e3703d.png#pic_center
然后设置机器人名称和描述,下面选择图标和颜色
https://img-blog.csdnimg.cn/img_convert/761789fe963fc249cc4a1d188497a7cc.png#pic_center
创建乐成后,添加一下机器人的本领
https://img-blog.csdnimg.cn/img_convert/5645a378da86cf7807ba54315f0ff1ab.png#pic_center
2.克隆feishu-chatgpt项目

feishu-chatgpt项目集成了飞书调用chatgpt的功能,这边使用windwos体系 在powershell中使用git克隆项目,选择目录,把项目克隆下来
git clone https://github.com/Leizhenpeng/feishu-chatgpt.git
https://img-blog.csdnimg.cn/img_convert/172bd7abeae00791f8ad72b799b3c26f.png#pic_center
然后进入code目录
cd feishu-chatgpt/code
修改设置文件名称
mv config.example.yaml config.yaml
3.设置config.yaml文件

在我们上面clone下来的项目目录的code文件夹下,可以看到config.yaml设置文件
https://img-blog.csdnimg.cn/img_convert/265547eb8eeaf69523c8e2e499cec6f8.png#pic_center
打开设置文件,我们可以看到前面两个参数对应的是飞书上面我们创建项目的APP ID和App Secret
https://img-blog.csdnimg.cn/img_convert/d27d88b6a042250dde2c29a610df5cee.png#pic_center
打开飞书,复制对应的参数
https://img-blog.csdnimg.cn/img_convert/74bb027a94156bb9619dda1aae81b7b2.png#pic_center
将这两个参数对应填写到设置文件中
https://img-blog.csdnimg.cn/img_convert/1d8381e56b6f1d504b49165929ed5c16.png#pic_center
然后下面还有两个参数:APP_ENCRYPT_KEY以及APP_VERIFICATION_TOKEN
https://img-blog.csdnimg.cn/img_convert/b87a5978aeb6f9ed7bd61e576456c893.png#pic_center
同样在飞书里面,点击事件与订阅,然后我们可以看到
https://img-blog.csdnimg.cn/img_convert/bbb8f7b263b0ee682209aebf92103eaa.png#pic_center
第一个值未开启,我们点击革新即可
https://img-blog.csdnimg.cn/img_convert/fec0c6fe5e2d870abeb34402e0deaf39.png#pic_center
然后我们把两个值分别对应填写到设置文件中,记得保存
https://img-blog.csdnimg.cn/img_convert/060160905b2ddd3f3cc1ad2f4f43e72e.png#pic_center
填写好飞书的参数后,接下来设置设置文件中openAI的参数,我们必要获取openAI的KEY,可以去openAI官网本身账号获取,也可以有一些免费网站获取测试,如https://freeopenai.xyz/ 这个网站,我们可以获取一个key,获取后我们把key值填写到设置文件中,记得保存文件
https://img-blog.csdnimg.cn/img_convert/9a5915e75d2431df81ea38e680e8f322.png#pic_center
打开设置文件,我们可以看到前面两个参数对应的是飞书上面我们创建项目的APP ID和App Secret
https://img-blog.csdnimg.cn/img_convert/53353e160160b20852382176d3a807ba.png
最后,设备必要使用代理,在最后一行设置代理,不设置的话无法访问chatgpt接口,得不到chatGPT返回的回答
https://img-blog.csdnimg.cn/img_convert/5e643fe2879cb454b78f7b6a7cfcf374.png
4.运行feishu-chatgpt项目

首次运行会下载相关所需的包,为了防止下载不乐成,先设置一下go中的代理,执行下面命令切换国内代理
go env -w GOPROXY=https://goproxy.cn,direct
然后运行main.go文件,启动项目,
go run main.go
注意看图片上面的路径,肯定是在feishu-chatgpt项目的code文件夹下操作,启动后我们可以看到端标语,端标语为:9000
https://img-blog.csdnimg.cn/img_convert/2d32b72a5aa26d56ac5e174575e30192.png#pic_center
服务启动后,接下来我们必要设置飞书机器人毗连我们服务的地址,要求我们设置外网地址,不能使用局域网地址。
这里我们用cpolar内网穿透工具将本地9000端口下的服务映射到公网上,它会自动生成返回相应的公网地址,就可以使用这个公网地址设置飞书机器人毗连服务,不必要公网IP,不消设置路由器,也不必要公网服务器。
https://img-blog.csdnimg.cn/img_convert/752d70e889b4f017ec5226f944e7d9fd.png#pic_center
5.安装cpolar内网穿透

   cpolar官网:https://www.cpolar.com/
访问cpolar官网,注册一个账号,然后下载并安装windows版本的cpolar客户端。
https://img-blog.csdnimg.cn/b0a914d83aab44f08e078fff1856ed14.png#pic_center
cpolar内网穿透安装乐成后,在浏览器上访问本地9200端口【http://localhost:9200】,使用cpolar账号登录。
https://img-blog.csdnimg.cn/img_convert/e218c23a1648905cc5722e36862aff57.png#pic_center
点击左侧仪表盘的隧道管理——创建隧道,创建一个http隧道,指向9000端口,就是上面我们运行main.go的服务端标语


[*]隧道名称:可自定义命名,注意不要与已有的隧道名称重复
[*]协议:选择http
[*]本地地址:9000
[*]域名范例:免费选择随机域名
[*]地域:选择China vip
点击创建
https://img-blog.csdnimg.cn/img_convert/a97358afdadac4952b5b527def2986a8.png#pic_center
隧道创建乐成后,点击左侧的状态——在线隧道列表,检察所生成的公网地址,然后复制地址
https://img-blog.csdnimg.cn/img_convert/dca093fd735ac2bbe19108c912a9d556.png#pic_center
然后打开飞书机器人,我们填写上面的公网地址,注意,需加上资源路径/webhook/card,然后点击验证
https://img-blog.csdnimg.cn/img_convert/f25a709f17c0328287dac51f5d6f7969.png#pic_center
点击验证后没有任何提示表现乐成,我们在powershell中也可以看到打印的日志
https://img-blog.csdnimg.cn/img_convert/38ea57601a80dc873404e2e9cb303cba.png#pic_center
6.固定公网地址

由于我们刚刚创建的是免费随机暂时的隧道,他生成的公网地址会在24小时内随机变化,不适合作为长期使用的链接。以是我们接下来固定这个公网地址。
   注意必要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。
登录cpolar官网背景,点击左侧的预留,选择保存二级子域名,设置一个二级子域名名称,点击保存,保存乐成后复制保存的二级子域名名称
https://img-blog.csdnimg.cn/0b4212fed2a8498d89dee3fa1b93d2ae.png
保存乐成后复制保存的二级子域名地址
https://img-blog.csdnimg.cn/726bbae6863e47eabae1384ae1de5603.png
访问本地9200端口【127.0.0.1:9200】,登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要设置的隧道,点击右侧的编辑
https://img-blog.csdnimg.cn/img_convert/a4772387df43ee28ab10f1e57ef8a74d.png#pic_center
修改隧道信息,将保存乐成的二级子域名设置到隧道中


[*]域名范例:选择二级子域名
[*]Sub Domain:填写保存乐成的二级子域名
点击更新
https://img-blog.csdnimg.cn/img_convert/31b0c41c8439c80f1cd5562844a14a16.png#pic_center
更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保存的二级子域名名称,将其复制下来
https://img-blog.csdnimg.cn/img_convert/2e88c0bb07117b420a468f87f68d953e.png#pic_center
然后我们打开飞书机器人,把随机地址换成我们固定的公网地址,然后点击保存
https://img-blog.csdnimg.cn/img_convert/efbaf208cf179682995d2c2e68d1f643.png#pic_center
然后打开下面的事件订阅,同样把公网地址设置进去,后面的资源路径改为/webhook/event,然后点击保存
https://img-blog.csdnimg.cn/img_convert/93a3bc51cd35f03cee1d940ca4feb751.png#pic_center
7.机器人权限设置

打开权限管理,筛选权限,输入im:message
https://img-blog.csdnimg.cn/img_convert/988b1c4881116075b485ad697dfaf529.png#pic_center
然后批量开通如下权限


[*]im:resource(获取与上传图片或文件资源)
[*]m:message
[*]im:message.group_at_msg(获取群组中所有消息)
[*]im:messagegroup_at_msg:readonly(接收群聊中@机器人消息事件)
[*]im:message.p2p_msg(获取用户发给机器人的单聊消息)
[*]im:messagep2p_msg:readonly(读取用户发给机器人的单聊消息)
[*]im:message:send_as_bot(获取用户在群组中@机器人的消息)
[*]im:chat:readonly(获取群组信息)
[*]im:chat(获取与更新群组信息)
https://img-blog.csdnimg.cn/img_convert/53d943cb362fde2eca3fae4fbfecfe66.png#pic_center
搜索im:resource,开通这个权限
https://img-blog.csdnimg.cn/img_convert/42b2966d8e9999a91ee1fa8b89d35ff8.png#pic_center
然后再次输入im:chat,开通如下两个权限
https://img-blog.csdnimg.cn/img_convert/739b079289ed4d156689474674c12cbe.png#pic_center
然后添加事件,添加如下三个事件
https://img-blog.csdnimg.cn/img_convert/380f69bc124689226be3417ed017aa46.png#pic_center
8.创建版本

点击上面创建版本,填写版本信息和更新说明
https://img-blog.csdnimg.cn/img_convert/95a71e0a76c108ac0429ade36fcb25f4.png#pic_center
然后点击下面保存
https://img-blog.csdnimg.cn/img_convert/bb5ef97471a565d613ff1c53d6590523.png#pic_center
保存乐成后申请线上发布
https://img-blog.csdnimg.cn/img_convert/63b01d691db1eb5fa9b3134ce8feecea.png#pic_center
9.创建测试企业

点击旁边的测试企业和职员,我们创建一个测试企业
https://img-blog.csdnimg.cn/img_convert/4e4ef4408ce9a0a08362c2ed4ae18de1.png#pic_center
创建好后点击关联应用
https://img-blog.csdnimg.cn/img_convert/b7ac6de08e07b7d89113f23b4e2a43c6.png#pic_center
然后我们切换账号,切换成我们上面创建的测试企业账号
https://img-blog.csdnimg.cn/img_convert/a77486092ca6d5cffa2b3a1b1354f9d1.png#pic_center
切换后可以看到我们创建的机器人项目,点击进去
https://img-blog.csdnimg.cn/img_convert/e68bd7d8c389942cfe06ac8acf4cb62d.png#pic_center
我们可以看到状态已经发布状态
https://img-blog.csdnimg.cn/img_convert/56ea1f87aad67e4b50266c26cd2d774b.png#pic_center
然后我们还要继续设置最后一步,打开凭证与基础信息,检察APPID和APP Secret这两个值
https://img-blog.csdnimg.cn/img_convert/18517346418636712568ddef0f3960e0.png#pic_center
然后把上面的两个值在我们设置文件中替换掉,设置文件使用的是飞书个人账号的值,现在创建了测试企业号,需改为测试企业号的APPID和APP Secret
https://img-blog.csdnimg.cn/img_convert/0f60e9217a2c36e379f29a7eb73c5359.png#pic_center
改完后重新启动即可
https://img-blog.csdnimg.cn/img_convert/c91189df053f8a61602b1e9b31231950.png#pic_center
10. 机器人测试

下载飞书,打开飞书,登岸的时候选择我们上面创建的测试企业账号
https://img-blog.csdnimg.cn/img_convert/516902121297a244b9b44dddc1d73ba3.png#pic_center
然后点击搜索
https://img-blog.csdnimg.cn/img_convert/640dbc7b5d04431a5cb3667d372a8f28.png#pic_center
输入chat,即可看到我们本身设置的机器人,点击
https://img-blog.csdnimg.cn/img_convert/23bcaea81768abad5745655e21161001.png#pic_center
然后即可进行对话,机器人回复有点慢,因为是外洋接口
https://img-blog.csdnimg.cn/img_convert/390c2782a0d41082e81a49bdd1080360.png#pic_center

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 本地运行feishu-chatgpt项目结合内网穿透实现无公网IP长途访问