需要搭建自己的国外服务器
具体教程就不多说了,亚马逊和oracle都有免费的服务器,够用就行。这就分享一个亚马逊免费服务器教程。同时以下内容也是基于亚马逊linux服务器做的开发。
搭建go环境
- 下载并解压go的sdk
wget https://dl.google.com/go/go1.17.2.linux-amd64.tar.gz
tar -zxf go1.17.2.linux-amd64.tar.gz -C /usr/local
2. 将go添加到环境变量
vim /etc/profile
// 进入profile 文件
#go 环境变量
export GO111MODULE=on
export GOROOT=/usr/local/go
export GOPATH=/home/gopath
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
// 环境生效
source /etc/profile
3. 检查go是否成功
go version
飞书如何配置
-
到飞书开发者后台创建应用,创建成功
-
添加机器人能力
-
配置机器人请求网址, xxx/webhook/card
-
事件订阅添配置网址,和机器人一样: xxx/webhook/event,并加权限:搜索三个词机器人进群、 接收消息、 消息已读, 把他们后面所有的权限全部勾选
-
权限管理,加上以下几个权限: im:resource(获取与上传图片或文件资源) im:message im:message.group_at_msg(获取群组中所有消息) im:message.group_at_msg:readonly(接收群聊中@机器人消息事件) im:message.p2p_msg(获取用户发给机器人的单聊消息) im:message.p2p_msg:readonly(读取用户发给机器人的单聊消息) im:message:send_as_bot(获取用户在群组中@机器人的消息) im:chat:readonly(获取群组信息) im:chat(获取与更新群组信息)
-
第一次创建应用需要发布,发布的时候会提交审核给管理员,之后对应的『凭证与基础信息』的appId和secret、以及『事件订阅』的encryptKey和Verification Token 都需要配置在服务器。
linux部署Feishu-OpenAI工程
介绍
该工程主要是用来部署飞书的机器人(使用chatgpt)访问openai,github地址为 github.com/ConnectAI-E… 。
步骤
- git 下载工程,放到自己的目录下
git clone https://github.com/ConnectAI-E/Feishu-OpenAI
2. 进入Feishu-OpenAI/code,将config.example.yaml重命名为config.yaml,然后进入编辑配置飞书机器人的key、open-ai的key,默认端口9000,也可以修改。因为是国外服务,所以也不需要在配置文件配置代理地址(如果非国外,就需要自己配置代理地址)。
cd Feishu-OpenAI/code
rm config.example.yaml config.yaml
vim config.yaml
# =============== config.yaml 文件内容====================
# 飞书
# 飞书开放后台-自己创建机器人-凭证与基础信息下
APP_ID: cli_xxx
APP_SECRET: xxx
# 飞书开放后台-自己创建机器人-事件订阅下
APP_ENCRYPT_KEY: xxx
APP_VERIFICATION_TOKEN: xxx
# 请确保和飞书应用管理平台中的设置一致
BOT_NAME: chatgpt_Q之家
# openAI key 支持负载均衡 可以填写多个key 用逗号分隔
OPENAI_KEY: xxx,xxx
# 服务器配置
HTTP_PORT: 9000
HTTPS_PORT: 9001
USE_HTTPS: false
CERT_FILE: cert.pem
KEY_FILE: key.pem
# openai 地址, 一般不需要修改, 除非你有自己的反向代理
API_URL: https://api.openai.com
# 代理设置, 例如 "http://127.0.0.1:7890", ""代表不使用代理
HTTP_PROXY: ""
# AZURE OPENAI
AZURE_ON: false # set true to use Azure rather than OpenAI
AZURE_API_VERSION: 2023-03-15-preview # 2023-03-15-preview or 2022-12-01 refer https://learn.microsoft.com/en-us/azure/cognitive-services/openai/reference#completions
AZURE_RESOURCE_NAME: xxxx # you can find in endpoint url. Usually looks like https://{RESOURCE_NAME}.openai.azure.com
AZURE_DEPLOYMENT_NAME: xxxx # usually looks like ...openai.azure.com/openai/deployments/{DEPLOYMENT_NAME}/chat/completions.
AZURE_OPENAI_TOKEN: xxxx # Authentication key. We can use Azure Active Directory Authentication(TBD).
- 获取go 配置信息,并build生成对应运行文件start-feishubot
go get
go build
# linux 命令运动到后台
nohup ./start-feishubot &
或者直接运行go工程
go run main.go
4. 杀死运行在后台的服务
# 查找start-feishubot的进程id
ps -ef | grep feishu
## 找到对应进程id
kill -9 id