Code Monkey home page Code Monkey logo

feishu-openai's Introduction



📷 点击展开完整功能


飞书 ×(GPT-4 + DALL·E + Whisper)

🚀 Feishu OpenAI 🚀

www.connectai-e.com

商业支持

升级至商业共创版,满足您公司的需求:

  1. 全面支持:集成OpenAI、Midjourney等主流AI模型,充足资源满足小团队全年需求。
  2. 超值优惠:后续补充AI资源价格仅为官方价的60%,为您节省成本。
  3. 持续更新:企联AI已获「奇绩创坛」数百万天使投资,确保商业版持续优化和质量提升。
  4. 管理便捷:实用Admin Panel助您轻松管理AI资源、查询日志、避免风险词汇和权限控制。
  5. 高度安全:提供在线SaaS版与企业级私有部署,确保数据安全和隐私保护。

查看更多内容: https://www.connectai-e.com

企业客户咨询: 15623677720

👻 机器人功能

🗣 语音交流:私人直接与机器人畅所欲言「Whisper」

🕵️ 图片推理: 借助大模型互动式对话图片「GPT4V」

💬 多话题对话:支持私人和群聊多话题讨论,高效连贯

🖼 文本成图:支持文本成图和以图搜图 「DALLE-3」

🛖 场景预设:内置丰富场景列表,一键切换AI角色

🎭 角色扮演:支持场景模式,增添讨论乐趣和创意

🤖 AI模式:内置4种AI模式,感受AI的智慧与创意

🔄 上下文保留:回复对话框即可继续同一话题讨论

⏰ 自动结束:超时自动结束对话,支持清除讨论历史

📝 富文本卡片:支持富文本卡片回复,信息更丰富多彩

👍 交互式反馈:即时获取机器人处理结果

🎰 余额查询:即时获取token消耗情况

🔙 历史回档:轻松回档历史对话,继续话题讨论 🚧

🔒 管理员模式:内置管理员模式,使用更安全可靠 🚧

🌐 多token负载均衡:优化生产级别的高频调用场景

↩️ 支持反向代理:为不同地区的用户提供更快、更稳定的访问体验

📚 与飞书文档互动:成为企业员工的超级助手 🚧

🎥 话题内容秒转PPT:让你的汇报从此变得更加简单 🚧

📊 表格分析:轻松导入飞书表格,提升数据分析效率 🚧

🍊 私有数据训练:利用公司产品信息对GPT二次训练,更好地满足客户个性化需求 🚧

🌟 项目特点

项目部署

有关飞书的配置文件说明,➡︎ 点击查看
本地部署
git clone [email protected]:Leizhenpeng/feishu-chatgpt.git
cd feishu-chatgpt/code

如果你的服务器没有公网 IP,可以使用反向代理的方式

飞书的服务器在国内对 ngrok 的访问速度很慢,所以推荐使用一些国内的反向代理服务商

# 配置config.yaml
mv config.example.yaml config.yaml

//测试部署
go run main.go
cpolar http 9000

//正式部署
nohup cpolar http 9000 -log=stdout &

//查看服务器状态
https://dashboard.cpolar.com/status

// 下线服务
ps -ef | grep cpolar
kill -9 PID

更多详细介绍,参考飞书上的小计算器: Go 机器人来啦


serverless云函数(阿里云等)部署
git clone [email protected]:Leizhenpeng/feishu-chatgpt.git
cd feishu-chatgpt/code

安装severless工具

# 配置config.yaml
mv config.example.yaml config.yaml
# 安装severless cli
npm install @serverless-devs/s -g

安装完成后,请根据您本地环境,根据下面教程部署severless

  • 本地 linux/mac os 环境
  1. 修改s.yaml中的部署地区和部署秘钥
edition: 1.0.0
name: feishuBot-chatGpt
access: "aliyun" #  修改自定义的秘钥别称

vars: # 全局变量
region: "cn-hongkong" # 修改云函数想要部署地区

  1. 一键部署
cd ..
s deploy
  • 本地windows
  1. 首先打开本地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
  1. 修改s.yaml中的部署地区和部署秘钥
edition: 1.0.0
name: feishuBot-chatGpt
access: "aliyun" #  修改自定义的秘钥别称

vars: # 全局变量
  region: "cn-hongkong" #  修改云函数想要部署地区

  1. 修改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

  1. 一键部署
cd ..
s deploy

更多详细介绍,参考仅需 1min,用 Serverless 部署基于 gin 的飞书机器人

使用 Railway 平台一键部署

Railway 是一家国外的 Serverless 平台,支持多种语言,可以一键将 GitHub 上的代码仓库部署到 Railway 平台,然后在 Railway 平台上配置环境变量即可。部署本项目的流程如下:

1. 生成 Railway 项目

点击下方按钮即可创建一个对应的 Railway 项目,其会自动 Fork 本项目到你的 GitHub 账号下。

Deploy on Railway

2. 配置环境变量

在打开的页面中,配置环境变量,每个变量的说明如下图所示:

Railway 环境变量

3. 部署项目

填写完环境变量后,点击 Deploy 就完成了项目的部署。部署完成后还需获取对应的域名用于飞书机器人访问,如下图所示:

Railway 域名

如果不确定自己部署是否成功,可以通过访问上述获取到的域名 (https://xxxxxxxx.railway.app/ping) 来查看是否返回了pong ,如果返回了pong,说明部署成功。

Repl.it部署

The fastest way to deploy the feishu-openai to repl.it is to click the run on repl.it button below.

Run on Repl.it

Remember switch to secrets tab then edit System environment variables.You can also edit raw json:

{
  "APP_ID": "",
  "APP_SECRET": "",
  "APP_ENCRYPT_KEY": "",
  "APP_VERIFICATION_TOKEN": "",
  "BOT_NAME": "ChatGPT",
  "OPENAI_KEY": "sk-",
  "OPENAI_MODEL": "gpt-3.5-turbo"
}
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

注意:

  • 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, 没有反向代理的话,可以不用设置

小白简易化 docker 部署

docker run -d --restart=always --name feishu-chatgpt2 -p 9000:9000 -v /etc/localtime:/etc/localtim:ro  \
--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="" \
dockerproxy.com/leizhenpeng/feishu-chatgpt:latest

事件回调地址: http://IP:9000/webhook/event 卡片回调地址: http://IP:9000/webhook/card

把它填入飞书后台


部署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

注意:

  • 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

二进制安装包部署
  1. 进入release 页面 下载对应的安装包
  2. 解压安装包,修改 config.example.yml 中配置信息,另存为 config.yaml
  3. 目录下添加文件 role_list.yaml,自定义角色,可以从这里获取:链接
  4. 运行程序入口文件 feishu-chatgpt

事件回调地址: http://IP:9000/webhook/event 卡片回调地址: http://IP:9000/webhook/card

详细配置步骤

📸 点击展开飞书机器人配置的分步截图指导

  • 获取 OpenAI 的 KEY( 🙉 下面有免费的 KEY 供大家测试部署 )
  • 创建 飞书 机器人
    1. 前往开发者平台创建应用,并获取到 APPID 和 Secret
    2. 前往应用功能-机器人, 创建机器人
    3. 从 cpolar、serverless 或 Railway 获得公网地址,在飞书机器人后台的 事件订阅 板块填写。例如,
      • http://xxxx.r6.cpolar.top为 cpolar 暴露的公网地址
      • /webhook/event为统一的应用路由
      • 最终的回调地址为 http://xxxx.r6.cpolar.top/webhook/event
    4. 在飞书机器人后台的 机器人 板块,填写消息卡片请求网址。例如,
      • http://xxxx.r6.cpolar.top为 cpolar 暴露的公网地址
      • /webhook/card为统一的应用路由
      • 最终的消息卡片请求网址为 http://xxxx.r6.cpolar.top/webhook/card
    5. 在事件订阅板块,搜索三个词机器人进群接收消息消息已读, 把他们后面所有的权限全部勾选。 进入权限管理界面,搜索图片, 勾选获取与上传图片或文件资源。 最终会添加下列回调事件
      • 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(获取与更新群组信息)
  1. 发布版本,等待企业管理员审核通过

更多介绍,参考飞书上的小计算器: Go 机器人来啦

一起交流

遇到问题,可以加入飞书群沟通~

企联AI

AI
SDK Application
🎒OpenAI Go-OpenAI 🏅Feishu-OpenAI, 🎖Lark-OpenAI, Feishu-EX-ChatGPT, 🎖Feishu-OpenAI-Stream-Chatbot, Feishu-TLDR,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
🤖 AutoGPT ------ 🏅AutoGPT-Next-Web
🎭 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
🥁 PaLM Go-PaLM Feishu-PaLM,DingTalk-PaLM,Wework-PaLM
🎡 Prompt ------ 📖 Prompt-Engineering-Tutior
🍋 ChatGLM ------ Feishu-ChatGLM
⛓ LangChain ------ 📖 LangChain-Tutior
🪄 One-click ------ 🎖Awesome-One-Click-Deployment

开源社区:https://github.com/ConnectAI-E

feishu-openai's People

Contributors

leizhenpeng avatar ddmeaqua avatar aaakoako avatar zhongweili avatar xmoxmo avatar lufeicheng avatar dishone avatar trevorwang avatar toeasy avatar davymai avatar wm7799 avatar yokaimeow avatar chen622 avatar hiberyan avatar eltociear avatar xieweixie avatar csuzhangxc avatar cfxks1989 avatar testwill avatar hehan-wang avatar hyoban avatar yangmingyuan380 avatar pengfeiu avatar riba2534 avatar samzong avatar wenerme avatar wengchaoxi avatar dishangyijiao avatar xpzouying avatar zhaoyifei9 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.