GPT接入飞书
GPT接入飞书
在体验ChatGPT这方面,我算是晚的。使用下来,更多的是对于这种应用形式感到兴奋,而不是ChatGPT的专业能力。
得知OpenAI提供GPT3的Api接口后,我想到了将其接入团队飞书中,便于日常调用。
于是,使用Python从实现了一个飞书机器人后端,不依赖其他机器人框架,并将GPT接入。
仓库链接:https://github.com/HuXioAn/GPT-Lark.git
效果展示

## 功能概述
功能上非常简单,就是机器人与用户单聊进行对话。除此之外还有几个小功能和特性。
多线程与多token支持
配置方面使用了json文件,特别是token的配置:
{
"Bot":{
"profile":{
"app_id":"",
"app_secret":""
},
"bot_api_token":""
},
"WebHook":{
"port": 6666,
"route": "/"
},
"Api":[
{
"api_token": "",
"owner": "",
"available": true
},
{
"api_token": "",
"owner": "",
"available": true
},
{
"api_token": "",
"owner": "",
"available": true
}
]
}
token可以根据配置文件的内置自动加载,配合自动收集功能可以动态更新token列表并写回文件。
支持多个token是为了更好的均衡负载、支持多用户并发使用,以及解决最常见的问题:api调用过于频繁。程序会按照使用频率安排token队列,实现均衡负载。并尽可能保证用户使用同一个token,为后续GPT3.5原生连续对话做准备。
token自动收集
咱们都知道,OpenAI赠送的18美元额度对于个人来说确实不少,可如果是面向多人使用,特别是非盈利性质的,token是很快会被榨干的。所以让使用者贡献出自己的token是必要的,为了简化与自动化这一流程,添加了自动token收集。
只需要将token发送给机器人,识别到token后会自动验证token是否可用,并返回是否成功。若token可用,将会加入服务列表以及写回配置文件。效果如下:

后期配合token失效自动检出能达到更好的效果。
其他功能
可以在项目仓库的readme中看到TODO List,有一些比较有意思的想法。
比如按照官方给出的实例使用few shot模式让GPT的回答带有情绪风格,或者加入专用token功能以实现可持续发展。
使用说明
基本使用请参照仓库readme~
环境说明
本项目不依赖机器人框架以及飞书官方SDK,轻量化且运行难度低。
实测使用国内腾讯云服务器以及美国VPS均可,都可联通OpenAI服务。
仓库地址:https://github.com/HuXioAn/GPT-Lark
技术新人,水平有限,文中纰漏请一定指出,如有其他意见也请不吝赐教。更多相关内容请移步公众号,来找我聊聊天吧:

GPT接入飞书的更多相关文章
- Worktile正式入驻飞书,助力企业轻松实现敏捷开发与协作
企业在敏捷研发中时常面临着交付延期.需求不匹配等问题,如何更高效地完成敏捷研发? Worktile携手飞书,为企业用户提供敏捷开发服务,帮助企业实现软件项目的需求管理.缺陷追踪.迭代规划与推进以及效能 ...
- Python调用飞书发送消息
一.创建飞书机器人 自定义飞书机器人操作步骤,具体详见飞书官方文档:<机器人 | 如何在群聊中使用机器人?>
- JustAuth 1.15.9 版发布,支持飞书、喜马拉雅、企业微信网页登录
新增 修复并正式启用 飞书 平台的第三方登录 AuthToken 类中新增 refreshTokenExpireIn 记录 refresh token 的有效期 PR 合并 Github #101:支 ...
- 火山引擎MARS-APM Plus x 飞书 |降低线上OOM,提高App性能稳定性
通过使用火山引擎MARS-APM Plus的memory graph功能,飞书研发团队有效分析定位问题线上case多达30例,线上OOM率降低到了0.8‰,降幅达到60%.大幅提升了用户体验,为飞书的 ...
- Jenkins+Allure测试报告+飞书机器人发送通知
一.前言 之前讲了jenkins如何设置定时任务执行脚本,结合实际情况,本篇讲述在jenkins构建成功后,如何生成测试报告,以及推送飞书(因为我公司用的是飞书,所以是发送到飞书机器人). 本次实践搞 ...
- 飞书前端提到的竞态问题,在 Android 上怎么解决?
请点赞关注,你的支持对我意义重大. Hi,我是小彭.本文已收录到 GitHub · AndroidFamily 中.这里有 Android 进阶成长知识体系,有志同道合的朋友,关注公众号 [彭旭锐] ...
- 【Mock平台】测试开发实战01-开篇PRD和需求详细
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 平台背景 从业务特性上,不少测试的服务很多是依赖第三方的接口的,比如其中的支付场景,就需要很多状态的返回进行验证,但大部分服务提供商没有很 ...
- 提高可测性-Mock平台设计和整体规划
微信搜索[大奇测试开],关注这个坚持分享测试开发干货的家伙. 平台背景 从业务特性上,不少测试的服务很多是依赖第三方的接口的,比如其中的支付场景,就需要很多状态的返回进行验证,但大部分服务提供商没有很 ...
- 动态线程池框架 DynamicTp v1.0.6版本发布。还在为Dubbo线程池耗尽烦恼吗?还在为Mq消费积压烦恼吗?
DynamicTp 简介 DynamicTp 是一个基于配置中心实现的轻量级动态线程池管理工具,主要功能可以总结为 动态调参.通知报警.运行监控.三方包线程池管理等几大类. 经过几个版本迭代,目前最新 ...
- 【开源】我和 JAP(JA Plus) 的故事
JA Plus 故事 程序员的故事如此简单之绕不过去的开源情结 我们准备做一件伟大的事,也可以说是一件真真正正普惠的事. 絮 是的,你没有看错,就是"絮"而非"序&quo ...
随机推荐
- js拓展-Dom与事件,字符串,数组方法,object对象,作用域
js-扩展-Dom与事件 ```text # dom 文档对象模型,document object model ### 获取dom(js中的选择器) js let list=document.getE ...
- vue后退页面刷新数据和缓存数据
我们在项目中经常使用this.$router.go(-1) 但是,有时我们需要把前一个页面的数据进行缓存,有时需要刷新数据,下面来记录一下怎么操作吧 首先:在vue项目中缓存页面我们能想到 keep ...
- 【机器学习】李宏毅——Explainable ML(可解释性的机器学习)
在前面的学习之中,我们已经学习了很多的模型,它能够针对特定的任务,接受我们的输入并产生目标的输出.但我们并不满足于此,我们甚至希望机器告诉我们,它是如何得到这个答案的,而这就是可解释的机器学习. Wh ...
- kali安装拼音输入法
前言 最近使用kali感觉没个中文输入法的很不方便,于是决定装个ibus的拼音输入法 安装方法 1.安装ibus 使用命令apt install ibus ibus-pinyin,注意使用root权限 ...
- JavaScript:严格模式"use strict"
因为历史遗留问题,JS其实存在很多feature,以及兼容性问题: 所以JS在ES5之后,新增了一个严格模式,以区别于普通模式,用来激活新的特性,使得某些代码的执行准确无误: 如何开启严格模式? 在J ...
- Generator(生成器),入门初基,Coroutine(原生协程),登峰造极,Python3.10并发异步编程async底层实现
普遍意义上讲,生成器是一种特殊的迭代器,它可以在执行过程中暂停并在恢复执行时保留它的状态.而协程,则可以让一个函数在执行过程中暂停并在恢复执行时保留它的状态,在Python3.10中,原生协程的实现手 ...
- ssm——mybatis整理
目录 1.mybatis框架概述 2.直接使用jdbc连接数据库带来的问题 3.mybatis连接池 3.1.mybatis连接池yml配置 3.2.mybatis连接池xml配置 4.一个简单的my ...
- Python3套接字(socket)通讯(TCP)
最近写了一个工程,用作运维的,所以研究了一下Python的TCP通讯(服务器挂一个脚本,电脑挂一个脚本,就可以通过此通讯进行编码加密后传输取回想要的内容) 服务端: from socket impor ...
- [python]《Python编程快速上手:让繁琐工作自动化》学习笔记4
1. 处理Excel 电子表格笔记(第12章)(代码下载) 本文主要介绍openpyxl 的2.5.12版处理excel电子表格,原书是2.1.4 版,OpenPyXL 团队会经常发布新版本.不过不用 ...
- yolov8-tensorrt加速
仓库(已更新源码): https://github.com/FeiYull/tensorrt-alpha 仓库简介:基于CUDA+TensorRT实现深度学习加速,支持前处理.后处理.推理在GPU上运 ...