• 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可用,将会加入服务列表以及写回配置文件。效果如下:

    tutieshi_576x736_5s

    后期配合token失效自动检出能达到更好的效果。

    其他功能

    可以在项目仓库的readme中看到TODO List,有一些比较有意思的想法。

    比如按照官方给出的实例使用few shot模式让GPT的回答带有情绪风格,或者加入专用token功能以实现可持续发展。

    使用说明

    基本使用请参照仓库readme~

    环境说明

    本项目不依赖机器人框架以及飞书官方SDK,轻量化且运行难度低。

    实测使用国内腾讯云服务器以及美国VPS均可,都可联通OpenAI服务。

    仓库地址https://github.com/HuXioAn/GPT-Lark

    技术新人,水平有限,文中纰漏请一定指出,如有其他意见也请不吝赐教。更多相关内容请移步公众号,来找我聊聊天吧:

    公众号

  • 相关阅读:
    VUE+Spring Boot前后端分离开发实战(二):基于VUE+elementUI实现登录页面
    什么是继承?什么是组合?为何说要多用组合少用继承?
    Mybatis当传入参数为0时,动态sql语句条件不生效
    FLStudio2023水果中文版本使用操作心得与技巧
    第三章 C程序设计
    使用xmlrpc连接操作odoo
    deepwalk&node2vec 代码实战
    PCB布线及后仿真验证过程(干货满满,建议收藏)
    C语言多线程编程 semaphore 信号量(信号灯)是什么?如何使用?
    接口自动化测试,完整入门篇
  • 原文地址:https://www.cnblogs.com/huxiaoan/p/17153559.html