飛書 ×(GPT-4 + DALL·E + Whisper)
🚀 Lark OpenAI 🚀
English · 简体中文· 繁體中文 · 日本語 · Tiếng Việt
🗣 語音交流:私人直接與機器人暢所欲言
💬 多話題對話:支持私人和群聊多話題討論,高效連貫
🖼 文本成圖:支持文本成圖和以圖搜圖
🛖 場景預設:內建豐富場景列表,一鍵切換AI角色
🎭 角色扮演:支持場景模式,增添討論樂趣和創意
🤖 AI模式:內建4種AI模式,感受AI的智慧與創意
🔄 上下文保留:回復對話框即可繼續同一話題討論
⏰ 自動結束:超時自動結束對話,支持清除討論歷史
📝 富文本卡片:支持富文本卡片回覆,資訊更豐富多彩
👍 交互式反饋:即時獲取機器人處理結果
🎰 餘額查詢:即時獲取token消耗情況
🔙 歷史回滾:輕鬆回滾歷史對話,繼續話題討論 🚧
🔒 管理員模式:內建管理員模式,使用更安全可靠 🚧
🌐 多token負載均衡:優化生產級別的高頻調用場景
↩️ 支持反向代理:為不同地區的使用者提供更快、更穩定的訪問體驗
📚 與飛書文檔互動:成為企業員工的超級助手 🚧
🎥 話題內容秒轉PPT:讓你的匯報從此變得更加簡單 🚧
📊 表格分析:輕鬆導入飛書表格,提升資料分析效率 🚧
🍊 私有數據訓練:利用公司產品信息對GPT二次訓練,更好地滿足客戶個性化需求 🚧
本地部署
git clone [email protected]:ConnectAI-E/lark-openai.git
cd Lark-OpenAI/code
如果你的伺服器沒有公網IP,可以使用反向代理的方式。
飛書的伺服器在國內對ngrok的訪問速度很慢,所以推薦使用一些國內的反向代理服務商:
# 配置config.yaml
mv config.example.yaml config.yaml
// 測試部署
go run ./
cpolar http 9000
// 正式部署
nohup cpolar http 9000 -log=stdout &
// 查看伺服器狀態
https://dashboard.cpolar.com/status
// 下線服務
ps -ef | grep cpolar
kill -9 PID
serverless雲函數部署
git clone [email protected]:ConnectAI/lark-openai.git
cd Lark-OpenAI/code
安裝severless工具
# 配置config.yaml
mv config.example.yaml config.yaml
# 安裝severless cli
npm install @serverless-devs/s -g
安裝完成後,請根據您本地環境,根據下面教程部署severless
- 本地
linux
/mac os
環境
- 修改
s.yaml
中的部署地區和部署秘鑰
edition: 1.0.0
name: feishuBot-chatGpt
access: "aliyun" # 修改自定義的秘鑰別稱
vars: # 全局變量
region: "cn-hongkong" # 修改雲函數想要部署地區
- 一鍵部署
cd ..
s deploy
- 本地
windows
- 首先打開本地
cmd
命令提示符工具,運行go env
檢查你電腦上 go 環境變量設置,確認以下變量和值
set GO111MODULE=on
set GOARCH=amd64
set GOOS=linux
set CGO_ENABLED=0
如果值不正確,比如您電腦上為set GOOS=windows
,請運行以下命令設置GOOS
變量值。
go env -w GOOS=linux
- 修改
s.yaml
中的部署地区和部署秘钥
edition: 1.0.0
name: feishuBot-chatGpt
access: "aliyun" # 修改自訂的秘鑰別稱
vars: # 全局變量
region: "cn-hongkong" # 修改雲函數想要部署地區
- 修改
s.yaml
中的pre-deploy
,去除第二步run
前面的環境變量設置部分
pre-deploy:
- run: go mod tidy
path: ./code
- run: go build -o
target/main main.go # 刪除GO111MODULE=on GOOS=linux GOARCH=amd64 CGO_ENABLED=0
path: ./code
- 一键部署
cd ..
s deploy
docker部署
docker build -t feishu-chatgpt:latest .
docker run -d --name feishu-chatgpt -p 9000:9000 \
--env APP_ID=xxx \
--env APP_SECRET=xxx \
--env APP_ENCRYPT_KEY=xxx \
--env APP_VERIFICATION_TOKEN=xxx \
--env BOT_NAME=chatGpt \
--env OPENAI_KEY="sk-xxx1,sk-xxx2,sk-xxx3" \
--env API_URL="https://api.openai.com" \
--env HTTP_PROXY="" \
feishu-chatgpt:latest
注意:
APP_LANG
是Lark机器人的语言,例如,en
,ja
,vi
,zh-hk
.BOT_NAME
為飛書機器人名稱,例如chatGpt
OPENAI_KEY
為openai key,多個key用逗號分隔,例如sk-xxx1,sk-xxx2,sk-xxx3
HTTP_PROXY
為宿主機的proxy地址,例如http://host.docker.internal:7890
,沒有代理的話,可以不用設置API_URL
為OpenAI API 接口地址,例如https://api.openai.com
, 沒有反向代理的話,可以不用設置
部署azure版本
docker build -t feishu-chatgpt:latest .
docker run -d --name feishu-chatgpt -p 9000:9000 \
--env APP_ID=xxx \
--env APP_SECRET=xxx \
--env APP_ENCRYPT_KEY=xxx \
--env APP_VERIFICATION_TOKEN=xxx \
--env BOT_NAME=chatGpt \
--env AZURE_ON=true \
--env AZURE_API_VERSION=xxx \
--env AZURE_RESOURCE_NAME=xxx \
--env AZURE_DEPLOYMENT_NAME=xxx \
--env AZURE_OPENAI_TOKEN=xxx \
feishu-chatgpt:latest
注意:
APP_LANG
是Lark机器人的语言,例如,en
,ja
,vi
,zh-hk
.BOT_NAME
為飛書機器人名稱,例如chatGpt
AZURE_ON
為是否使用azure ,請填寫true
AZURE_API_VERSION
為azure api版本 例如2023-03-15-preview
AZURE_RESOURCE_NAME
為azure 資源名稱 類似https://{AZURE_RESOURCE_NAME}.openai.azure.com
AZURE_DEPLOYMENT_NAME
為azure 部署名稱 類似https://{AZURE_RESOURCE_NAME}.openai.azure.com/deployments/{AZURE_DEPLOYMENT_NAME}/chat/completions
AZURE_OPENAI_TOKEN
為azure openai token
docker-compose 部署
編輯 docker-compose.yaml,透過 environment 配置相應環境變數(或透過 volumes 挂載相應配置文件),然後運行下面的命令即可
# 構建鏡像
docker compose build
# 啟動服務
docker compose up -d
# 停止服務
docker compose down
事件回調地址: http://IP:9000/webhook/event 卡片回調地址: http://IP:9000/webhook/card
- 獲取 OpenAI 的 KEY( 🙉 下面有免費的 KEY 供大家測試部署 )
- 創建 飛書 機器人
- 前往開發者平台創建應用,並獲取到 APPID 和 Secret
- 前往
應用功能-機器人
,創建機器人 - 從 cpolar、serverless 或 Railway 獲得公網地址,在飛書機器人後台的
事件訂閱
板塊填寫。例如,http://xxxx.r6.cpolar.top
為 cpolar 暴露的公網地址/webhook/event
為統一的應用路由- 最終的回調地址為
http://xxxx.r6.cpolar.top/webhook/event
- 在飛書機器人後台的
機器人
板塊,填寫消息卡片請求網址。例如,http://xxxx.r6.cpolar.top
為 cpolar 暴露的公網地址/webhook/card
為統一的應用路由- 最終的消息卡片請求網址為
http://xxxx.r6.cpolar.top/webhook/card
- 在事件訂閱板塊,搜索三個詞
機器人進群
、接收消息
、消息已讀
,把他們後面所有的權限全部勾選。 進入權限管理界面,搜索圖片
,勾選獲取與上傳圖片或文件資源
。 最終會添加下列回調事件- 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(獲取與更新群組信息)
AI |
SDK | Application |
---|---|---|
🎒OpenAI | Go-OpenAI | 🏅Feishu-OpenAI, Lark-OpenAI, 🏅Feishu-EX-ChatGPT, Feishu-OpenAI-Stream-Chatbot, Feishu-OpenAI-Amazing, Feishu-Oral-Friend, Feishu-OpenAI-Base-Helper, Feishu-Vector-Knowledge-Management, Feishu-OpenAI-PDF-Helper, 🏅Dingtalk-OpenAI, Wework-OpenAI, WeWork-OpenAI-Node, llmplugin |
🎭 Stablediffusion | ------ | 🏅Feishu-Stablediffusion |
🍎 Midjourney | Go-Midjourney | 🏅Feishu-Midjourney, MidJourney-Web, Dingtalk-Midjourney |
🍍 文心一言 | Go-Wenxin | Feishu-Wenxin, Dingtalk-Wenxin, Wework-Wenxin |
💸 Minimax | Go-Minimax | Feishu-Minimax, Dingtalk-Minimax, Wework-Minimax |
⛳️ CLAUDE | Go-Claude | Feishu-Claude, DingTalk-Claude, Wework-Claude |
🎡 Prompt | Prompt-Engineering-Tutior | |
🤖️ ChatGLM | Feishu-ChatGLM |