Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 0d97dc3
Author: congxu <congxuma@126.com>
Date:   Sun Jul 23 19:30:15 2023 +0800

    Squashed commit of the following:

    commit 41762a1
    Merge: e0d2e34 a786fa4
    Author: zhayujie <yjzha1996@163.com>
    Date:   Fri Jul 21 17:18:56 2023 +0800

        Merge pull request zhayujie#1332 from zhayujie/feat-1.3.3

        fix: reduce memory usage

    commit a786fa4
    Author: zhayujie <yjzha1996@163.com>
    Date:   Fri Jul 21 17:16:34 2023 +0800

        fix: reduce the expiration time and avoid storing the original message text to decrease memory usage

    commit e4c7602
    Author: zhayujie <yjzha1996@163.com>
    Date:   Fri Jul 21 17:14:11 2023 +0800

        docs: update README.md

    commit e0d2e34
    Merge: 2361e3c 9ef8e1b
    Author: zhayujie <yjzha1996@163.com>
    Date:   Fri Jul 21 10:50:16 2023 +0800

        Merge pull request zhayujie#1328 from zhayujie/feat-1.3.3

        feat: support global plugin config for docker env

    commit 9ef8e1b
    Author: zhayujie <yjzha1996@163.com>
    Date:   Thu Jul 20 16:08:19 2023 +0800

        feat: move loading config method to base class

    commit aae9b64
    Author: zhayujie <yjzha1996@163.com>
    Date:   Thu Jul 20 14:46:41 2023 +0800

        fix: reduce unnecessary error traceback logs

    commit 4bab429
    Author: zhayujie <yjzha1996@163.com>
    Date:   Thu Jul 20 14:24:40 2023 +0800

        fix: global plugin config read

    commit 954e55f
    Author: zhayujie <yjzha1996@163.com>
    Date:   Thu Jul 20 11:36:02 2023 +0800

        feat: add plugin global config to support docker volumes

    commit 2361e3c
    Author: zhayujie <yjzha1996@163.com>
    Date:   Wed Jul 19 18:23:59 2023 +0800

        docs: update README for railway cancelled free service

    commit 8aac86f
    Merge: 94b47a5 6384e93
    Author: zhayujie <yjzha1996@163.com>
    Date:   Wed Jul 5 01:44:06 2023 +0800

        Merge pull request zhayujie#1291 from 6vision/master

        (tool)fix azure model

    commit 6384e93
    Author: vision <vision_wangpc@sina.com>
    Date:   Wed Jul 5 01:06:53 2023 +0800

        plugin(tool): 更新0.4.6

        1、temp fix summary tool not ending bug
        2、兼容0613 gpt-3.5
        3、add azure's model name: gpt-35-turbo

    commit 7a9205d
    Author: vision <vision_wangpc@sina.com>
    Date:   Wed Jul 5 01:01:46 2023 +0800

        fix azure model

        更新chatgpt_tool_hub至0.4.6,拉取最新代码。tool即可使用azure接口!

    commit 94b47a5
    Merge: 709b5be f970b2c
    Author: Jianglang <lanvent@qq.com>
    Date:   Sat Jul 1 18:37:07 2023 +0800

        Merge pull request zhayujie#1282 from haikerapples/master_haiker_timetask

        内置 timetask 插件

    commit 709b5be
    Author: zhayujie <yjzha1996@163.com>
    Date:   Sat Jul 1 13:17:08 2023 +0800

        fix: group voice config and azure model calc support

    commit f970b2c
    Author: haikerwang <haikerwang@tencent.com>
    Date:   Thu Jun 29 00:58:57 2023 +0800

        内置 timetask 插件

commit da90198
Merge: 549b7c6 973acb3
Author: congxu <congxuma@126.com>
Date:   Wed Jun 28 13:51:16 2023 +0800

    Merge remote-tracking branch 'upstream/master'

commit 549b7c6
Author: congxu <congxuma@126.com>
Date:   Wed Jun 28 13:48:19 2023 +0800

    Squashed commit of the following:

    commit 973acb3
    Author: zhayujie <yjzha1996@163.com>
    Date:   Tue Jun 27 22:28:51 2023 +0800

        docs: update README.md

    commit 1c9020a
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 23:52:32 2023 +0800

        docs: update README.md

    commit c5f1d00
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 20:11:35 2023 +0800

        docs: update README.md

    commit fa706e8
    Merge: db27dfe 12c170f
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 14:16:18 2023 +0800

        Merge pull request zhayujie#1275 from zhayujie/feat-docker

        chore: remove useless docker files

    commit 12c170f
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 14:05:08 2023 +0800

        chore: remove useless docker files

    commit db27dfe
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 13:10:51 2023 +0800

        docs: modify docker deploy steps

    commit 2db4673
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 12:29:09 2023 +0800

        chore: fixed openai version

    commit 38619db
    Merge: 98b8ff2 930fd43
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 12:00:57 2023 +0800

        Merge pull request zhayujie#1274 from zhayujie/feat-dockerhub

        feat: modify docker-compose file to pull image from dockerhub

    commit 930fd43
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 11:58:55 2023 +0800

        feat: modify docker-compose file to pull image from dockerhub

    commit 98b8ff2
    Merge: 957f257 d066268
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 01:24:24 2023 +0800

        Merge pull request zhayujie#1271 from zhayujie/feat-dockerhub

        feat: publish to dockerhub in github CI simultaneously

    commit d066268
    Author: zhayujie <yjzha1996@163.com>
    Date:   Mon Jun 26 01:20:04 2023 +0800

        feat: publish to dockerhub in github CI simultaneously

commit 973acb3
Author: zhayujie <yjzha1996@163.com>
Date:   Tue Jun 27 22:28:51 2023 +0800

    docs: update README.md

commit 1c9020a
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 23:52:32 2023 +0800

    docs: update README.md

commit c5f1d00
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 20:11:35 2023 +0800

    docs: update README.md

commit fa706e8
Merge: db27dfe 12c170f
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 14:16:18 2023 +0800

    Merge pull request zhayujie#1275 from zhayujie/feat-docker

    chore: remove useless docker files

commit 12c170f
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 14:05:08 2023 +0800

    chore: remove useless docker files

commit db27dfe
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 13:10:51 2023 +0800

    docs: modify docker deploy steps

commit 2db4673
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 12:29:09 2023 +0800

    chore: fixed openai version

commit 38619db
Merge: 98b8ff2 930fd43
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 12:00:57 2023 +0800

    Merge pull request zhayujie#1274 from zhayujie/feat-dockerhub

    feat: modify docker-compose file to pull image from dockerhub

commit 930fd43
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 11:58:55 2023 +0800

    feat: modify docker-compose file to pull image from dockerhub

commit 98b8ff2
Merge: 957f257 d066268
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 01:24:24 2023 +0800

    Merge pull request zhayujie#1271 from zhayujie/feat-dockerhub

    feat: publish to dockerhub in github CI simultaneously

commit d066268
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 26 01:20:04 2023 +0800

    feat: publish to dockerhub in github CI simultaneously

commit f4bb107
Merge: f918674 957f257
Author: congxu <congxuma@126.com>
Date:   Sun Jun 18 17:05:07 2023 +0800

    Merge pull request #35 from zhayujie/master

    update

commit 957f257
Merge: 4dc5356 109b362
Author: zhayujie <yjzha1996@163.com>
Date:   Sat Jun 17 16:50:11 2023 +0800

    Merge pull request zhayujie#1257 from 6vision/master

    add reply_suffix

commit 109b362
Author: vision <vision_wangpc@sina.com>
Date:   Sat Jun 17 16:42:52 2023 +0800

    Update config.py

commit ff3fdfa
Author: vision <vision_wangpc@sina.com>
Date:   Sat Jun 17 16:36:08 2023 +0800

    add reply_suffix

commit e2636ed
Author: vision <vision_wangpc@sina.com>
Date:   Sat Jun 17 15:53:49 2023 +0800

    add replay_suffix

    增加自动回复后缀的可选配置参数

commit dbe2f17
Author: vision <vision_wangpc@sina.com>
Date:   Sat Jun 17 15:46:03 2023 +0800

    add reply_suffix

    增加私聊和群聊回复后缀的可选配置

commit 4dc5356
Merge: 3aa2e6a f414b64
Author: zhayujie <yjzha1996@163.com>
Date:   Fri Jun 16 15:48:04 2023 +0800

    Merge pull request zhayujie#1252 from 6vision/master

    Update Tool README.md

commit f414b64
Author: vision <vision_wangpc@sina.com>
Date:   Fri Jun 16 15:08:57 2023 +0800

    Update README.md

commit 3aa2e6a
Author: lanvent <lanvent@qq.com>
Date:   Fri Jun 16 00:51:29 2023 +0800

    fix: caclucate tokens correctly for *0613 models

commit 1963ff2
Author: lanvent <lanvent@qq.com>
Date:   Wed Jun 14 13:38:34 2023 +0800

    chore(hello): change plugin logic

commit bb737a7
Author: lanvent <lanvent@qq.com>
Date:   Wed Jun 14 13:36:07 2023 +0800

    feat: update counting tokens for new models

commit a582a46
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 12 14:05:47 2023 +0800

    fix: call super init

commit abf80a3
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 12 13:52:49 2023 +0800

    docs: update README

commit f918674
Merge: e60d90a d768f5c
Author: congxu <congxuma@126.com>
Date:   Sun Jun 11 15:21:47 2023 +0800

    Merge pull request #34 from zhayujie/master

    update0611

commit d768f5c
Author: Jianglang <lanvent@qq.com>
Date:   Sun Jun 11 00:02:18 2023 +0800

    Update README.md

commit b25e843
Author: lanvent <lanvent@qq.com>
Date:   Sat Jun 10 23:52:25 2023 +0800

    feat(link_ai_bot.py): add support for creating images using OpenAI's DALL-E API

commit 419a3e5
Author: lanvent <lanvent@qq.com>
Date:   Sat Jun 10 23:42:43 2023 +0800

    feat: make plugin compatible with LINKAI in most cases

commit d1b867a
Merge: c34d70b 94c0af3
Author: lanvent <lanvent@qq.com>
Date:   Sat Jun 10 21:27:03 2023 +0800

    feat: support scene without app code in linkai

commit c34d70b
Author: lanvent <lanvent@qq.com>
Date:   Sat Jun 10 11:22:12 2023 +0800

    fix: add warning log when pysilk module is not installed

commit a33df93
Author: lanvent <lanvent@qq.com>
Date:   Sat Jun 10 11:06:50 2023 +0800

    fix: warning message when using azure model

commit ebf8db0
Merge: 4c5e885 e539ae3
Author: Jianglang <lanvent@qq.com>
Date:   Sat Jun 10 00:48:41 2023 +0800

    Merge pull request zhayujie#1238 from chenzefeng09/fix_baidu_voice_init

    fix: baidu voice init params type error

commit e539ae3
Author: chenzefeng.09 <chenzefeng.09@bytedance.com>
Date:   Fri Jun 9 18:54:58 2023 +0800

    fix: baidu voice init params type error

commit 4c5e885
Author: lanvent <lanvent@qq.com>
Date:   Fri Jun 9 14:46:43 2023 +0800

    fix: env vars type error (zhayujie#1127)

commit 94c0af3
Author: zhayujie <yjzha1996@163.com>
Date:   Thu Jun 8 23:57:59 2023 +0800

    feat: support scen without app code

commit 165182c
Author: zhayujie <yjzha1996@163.com>
Date:   Thu Jun 8 20:58:59 2023 +0800

    config: remove the config temporarily and consider integrating it as a plugin

commit 65b9542
Merge: d01d1f8 ff97ae7
Author: Jianglang <lanvent@qq.com>
Date:   Thu Jun 8 11:53:14 2023 +0800

    Merge pull request zhayujie#1221 from Zhaoyi-Yan/patch-3

    add \n after @Nickname for group chat

commit d01d1f8
Merge: ad3e9f3 f96b4d2
Author: Jianglang <lanvent@qq.com>
Date:   Thu Jun 8 11:48:44 2023 +0800

    Merge pull request zhayujie#1220 from Zhaoyi-Yan/patch-2

    Add azure_deployment_id to Readme for Azure chatgpt.

commit ad3e9f3
Author: Jianglang <lanvent@qq.com>
Date:   Thu Jun 8 11:44:17 2023 +0800

    Update README.md

commit 4589974
Author: Jianglang <lanvent@qq.com>
Date:   Thu Jun 8 11:42:39 2023 +0800

    Update README.md

commit ed4553d
Author: Jianglang <lanvent@qq.com>
Date:   Thu Jun 8 11:42:12 2023 +0800

    Update README.md

commit ff97ae7
Author: Zhaoyi-Yan <yanzhaoyi@outlook.com>
Date:   Tue Jun 6 15:16:57 2023 +0800

    add \n after @Nickname for group chat

commit f96b4d2
Author: Zhaoyi-Yan <yanzhaoyi@outlook.com>
Date:   Tue Jun 6 14:44:09 2023 +0800

    Add azure_deployment_id to Readme for Azure chatgpt.

commit ce32cff
Author: zhayujie <yjzha1996@163.com>
Date:   Tue Jun 6 14:02:32 2023 +0800

    docs: update README.md

commit f66df85
Author: zhayujie <yjzha1996@163.com>
Date:   Tue Jun 6 09:54:34 2023 +0800

    Update README.md

commit dfe1c23
Merge: 12dc742 07fd819
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 5 23:55:25 2023 +0800

    Merge pull request zhayujie#1218 from zhayujie/feature-app-market

    feat: no quota hint and add group qrcode

commit 07fd819
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 5 23:53:34 2023 +0800

    docs: udapte readme

commit 210042b
Author: zhayujie <yjzha1996@163.com>
Date:   Mon Jun 5 23:21:24 2023 +0800

    feat: no quota hint and add group qrcode

commit e60d90a
Merge: 6e9aa7b 12dc742
Author: congxu <congxuma@126.com>
Date:   Sun Jun 4 10:54:21 2023 +0800

    Merge pull request #33 from zhayujie/master

    make railway happy

commit 12dc742
Author: lanvent <lanvent@qq.com>
Date:   Fri Jun 2 22:15:20 2023 +0800

    make railway happy

commit 6e9aa7b
Author: congxu <congxuma@126.com>
Date:   Fri Jun 2 16:26:09 2023 +0800

    Update banwords.txt

commit 06bdf55
Merge: 2d14f40 b476085
Author: congxu <congxuma@126.com>
Date:   Thu Jun 1 16:58:50 2023 +0800

    Merge pull request #31 from zhayujie/master

    11

commit 2d14f40
Merge: 17b7f74 1fd570b
Author: congxu <congxuma@126.com>
Date:   Thu Jun 1 16:57:48 2023 +0800

    Merge pull request #32 from congxuma/master

    11

commit 17b7f74
Author: congxu <congxuma@126.com>
Date:   Thu Jun 1 15:56:26 2023 +0800

    Update getnews.py

commit ad55738
Author: congxu <congxuma@126.com>
Date:   Thu Jun 1 15:46:02 2023 +0800

    Update getnews.py

commit b476085
Author: lanvent <lanvent@qq.com>
Date:   Tue May 30 23:42:06 2023 +0800

    fix: custom GPT model bug

commit 776cdaf
Merge: c29d391 69b6855
Author: zhayujie <yjzha1996@163.com>
Date:   Mon May 29 16:36:38 2023 +0800

    Merge pull request zhayujie#1168 from zhayujie/feature-app-market

    fix: config name optimize

commit 69b6855
Author: zhayujie <yjzha1996@163.com>
Date:   Mon May 29 15:55:48 2023 +0800

    fix: comment modify

commit 3590bab
Author: zhayujie <yjzha1996@163.com>
Date:   Mon May 29 15:52:26 2023 +0800

    fix: config name optimize

commit c29d391
Merge: f1a00d5 50e44db
Author: zhayujie <yjzha1996@163.com>
Date:   Mon May 29 15:41:12 2023 +0800

    Merge pull request zhayujie#1167 from zhayujie/feature-app-market

    feature:  support online knowledge base

commit 50e44db
Author: zhayujie <yjzha1996@163.com>
Date:   Sun May 28 22:12:36 2023 +0800

    fix: session save

commit 34277a3
Author: zhayujie <yjzha1996@163.com>
Date:   Sun May 28 19:08:23 2023 +0800

    feat: add app market

commit 1fd570b
Author: congxu <congxuma@126.com>
Date:   Tue May 23 19:46:35 2023 +0800

    Update banwords.txt

commit 6bb8be5
Merge: 02cb436 930898a
Author: congxu <congxuma@126.com>
Date:   Sun May 21 09:54:49 2023 +0800

    Merge pull request #19 from tudou2/master

    update

commit 930898a
Author: congxu <congxuma@126.com>
Date:   Fri May 19 16:35:23 2023 +0800

    Update getnews.py

commit b26ee20
Merge: d29fe5b f1a00d5
Author: congxu <congxuma@126.com>
Date:   Thu May 18 13:47:42 2023 +0800

    Merge pull request #30 from zhayujie/master

    pdate

commit f1a00d5
Author: lanvent <lanvent@qq.com>
Date:   Wed May 17 22:24:25 2023 +0800

    chore(Dockerfile.latest): comment out the sed command to replace apt source with tuna mirror

    The sed command to replace the apt source with the tuna mirror has been commented out. This is because the command is not necessary for the current build and may cause issues in the future.

commit d1a5f17
Merge: 9ee0ea8 6409f49
Author: Jianglang <lanvent@qq.com>
Date:   Wed May 17 16:13:03 2023 +0800

    Merge pull request zhayujie#1102 from goldfishh/master

    plugin(tool): 更新0.4.4

commit 02cb436
Merge: ea2fe6c d29fe5b
Author: congxu <congxuma@126.com>
Date:   Tue May 16 13:56:07 2023 +0800

    Merge pull request #18 from tudou2/master

    0516 update

commit d29fe5b
Merge: 6d3d9d2 9ee0ea8
Author: congxu <congxuma@126.com>
Date:   Tue May 16 13:55:09 2023 +0800

    Merge pull request #29 from zhayujie/master

    update 0516

commit 6409f49
Author: goldfishh <q8584@qq.com>
Date:   Tue May 16 00:21:40 2023 +0800

    plugin(tool): 更新0.4.4

    1. 支持azure、api转发服务
    2. 修复browser代理无前缀报错的问题
    3. 优化core prompt
    4. 修复系列issue提到的问题

commit 9ee0ea8
Merge: a3819d8 3e92d07
Author: Jianglang <lanvent@qq.com>
Date:   Mon May 15 23:34:04 2023 +0800

    Merge pull request zhayujie#1089 from taoguoliang/master-fork

    feat(命令): 添加set_gpt_model、set_gpt_model、set_gpt_model 几个命令的使用

commit a3819d8
Merge: e595972 2d7dd71
Author: Jianglang <lanvent@qq.com>
Date:   Mon May 15 23:32:03 2023 +0800

    Merge pull request zhayujie#1096 from lichengzhe/master

    处理cloudflare Bad Gateway异常,自动重试。

commit 2d7dd71
Author: lichengzhe <38408577@qq.com>
Date:   Mon May 15 14:04:55 2023 +0800

    Bad Gateway exception retry

commit 0e8195a
Author: lichengzhe <38408577@qq.com>
Date:   Mon May 15 13:55:14 2023 +0800

    Bad Gateway exception retry

commit 3e92d07
Author: taoguoliang <852765192@qq.com>
Date:   Sun May 7 15:22:24 2023 +0800

    feat(命令): 添加set_gpt_model、set_gpt_model、set_gpt_model 几个命令的使用

commit e595972
Merge: 9d2cb75 f2e3d69
Author: Jianglang <lanvent@qq.com>
Date:   Thu May 11 20:21:05 2023 +0800

    Merge pull request zhayujie#1079 from 6vision/6vision-patch-1

    Update README.md

commit ea2fe6c
Merge: ec4b459 6d3d9d2
Author: congxu <congxuma@126.com>
Date:   Thu May 11 17:39:37 2023 +0800

    Merge pull request #17 from tudou2/master

    update

commit 6d3d9d2
Merge: 362b899 9d2cb75
Author: congxu <congxuma@126.com>
Date:   Thu May 11 17:36:18 2023 +0800

    Merge pull request #28 from zhayujie/master

    pp

commit f2e3d69
Author: vision <vision_wangpc@sina.com>
Date:   Thu May 11 15:49:55 2023 +0800

    Update README.md

    新闻类工具整合后,工具名称变更了,调整一下位置,更能引起注意

commit 9d2cb75
Author: lanvent <lanvent@qq.com>
Date:   Wed May 10 23:11:18 2023 +0800

    fix(docker): chown /usr/local/lib in debian dockerfile

commit 362b899
Author: congxu <congxuma@126.com>
Date:   Wed May 10 10:19:41 2023 +0800

    Update config.json

commit f971505
Author: Jianglang <lanvent@qq.com>
Date:   Tue May 9 23:29:03 2023 +0800

    Update README.md

commit 2133c1d
Author: lanvent <lanvent@qq.com>
Date:   Tue May 9 23:08:20 2023 +0800

    fix(Dockerfile): create /home/noroot directory and change ownership of it

commit ec4b459
Merge: 1b2d612 95623a3
Author: congxu <congxuma@126.com>
Date:   Tue May 9 15:42:47 2023 +0800

    Merge pull request #16 from tudou2/master

    update

commit 95623a3
Merge: f97fe59 0bf06dd
Author: congxu <congxuma@126.com>
Date:   Tue May 9 11:30:48 2023 +0800

    Merge pull request #27 from zhayujie/master

    up

commit 0bf06dd
Merge: 024a50d e4eebd6
Author: Jianglang <lanvent@qq.com>
Date:   Mon May 8 17:33:46 2023 +0800

    Merge pull request zhayujie#1046 from theLastWinner/master

    fix(企业微信):补充缺失依赖textwrap

commit 024a50d
Merge: 4f1ed19 c905598
Author: Jianglang <lanvent@qq.com>
Date:   Mon May 8 17:33:22 2023 +0800

    Merge pull request zhayujie#1045 from wqh0109663/master

    fix docker entrypoint

commit e4eebd6
Author: 林督翔 <linduxiang@gdcattsoft.com>
Date:   Mon May 8 09:39:32 2023 +0800

    fix(企业微信):补充缺失依赖textwrap

commit c905598
Author: wuqih <wuqx@topband.com.cn>
Date:   Mon May 8 09:09:46 2023 +0800

    fix

commit 4f1ed19
Author: lanvent <lanvent@qq.com>
Date:   Sun May 7 23:36:35 2023 +0800

    fix: compatible with python 3.7

commit f97fe59
Author: congxu <congxuma@126.com>
Date:   Sun May 7 21:31:19 2023 +0800

    Update getnews.py

commit 1161404
Author: congxu <congxuma@126.com>
Date:   Sun May 7 21:14:44 2023 +0800

    Update getnews.py

commit 257017e
Author: congxu <congxuma@126.com>
Date:   Sun May 7 20:08:03 2023 +0800

    Update banwords.txt

commit aad0e06
Merge: 1aab2ba 3e710aa
Author: congxu <congxuma@126.com>
Date:   Sun May 7 14:05:42 2023 +0800

    Merge pull request #26 from zhayujie/master

    update fix

commit 1aab2ba
Author: congxu <congxuma@126.com>
Date:   Sat May 6 19:40:26 2023 +0800

    Update getnews.py

commit 3e710aa
Merge: 3001ba9 b6226a4
Author: Jianglang <lanvent@qq.com>
Date:   Sat May 6 17:16:06 2023 +0800

    Merge pull request zhayujie#1032 from wqh0109663/master

    修复docker入口错误

commit b6226a4
Author: wuqih <wuqx@topband.com.cn>
Date:   Sat May 6 14:29:36 2023 +0800

    fix

commit 1b2d612
Merge: c5d07f1 35807f6
Author: congxu <congxuma@126.com>
Date:   Fri Apr 28 16:32:24 2023 +0800

    Merge pull request #15 from tudou2/master

    update

commit 35807f6
Merge: ea0f746 2ba7269
Author: congxu <congxuma@126.com>
Date:   Fri Apr 28 14:40:47 2023 +0800

    Merge pull request #25 from tudou2/test_code

    Test code

commit c5d07f1
Merge: 4656003 ea0f746
Author: congxu <congxuma@126.com>
Date:   Thu Apr 27 13:28:33 2023 +0800

    Merge pull request #14 from tudou2/master

    update

commit 4656003
Merge: c959f20 089e7fd
Author: congxu <congxuma@126.com>
Date:   Mon Apr 24 11:45:06 2023 +0800

    Merge pull request #13 from tudou2/master

    merge

commit c959f20
Merge: 20c29ab 572aba9
Author: congxu <congxuma@126.com>
Date:   Fri Apr 21 13:12:48 2023 +0800

    Merge pull request #12 from tudou2/master

    pull 0421

commit 20c29ab
Merge: 520fc04 96a4ee8
Author: congxu <congxuma@126.com>
Date:   Wed Apr 19 17:56:10 2023 +0800

    Merge pull request #11 from tudou2/master

    update

commit 520fc04
Merge: e13dbc6 1c0874a
Author: congxu <congxuma@126.com>
Date:   Wed Apr 19 12:35:02 2023 +0800

    Merge pull request #10 from tudou2/master

    0419

commit e13dbc6
Merge: 76a0b8a 86caf6d
Author: congxu <congxuma@126.com>
Date:   Tue Apr 18 19:24:55 2023 +0800

    Merge pull request #9 from tudou2/master

    update0418

commit 76a0b8a
Merge: e8a811f 0689673
Author: congxu <congxuma@126.com>
Date:   Mon Apr 17 22:50:23 2023 +0800

    Merge pull request #8 from tudou2/master

    tt

commit e8a811f
Merge: 51fb215 e9a8511
Author: congxu <congxuma@126.com>
Date:   Mon Apr 17 15:04:57 2023 +0800

    Merge pull request #7 from tudou2/master

    update

commit 51fb215
Merge: 7264827 edec73f
Author: congxu <congxuma@126.com>
Date:   Mon Apr 17 12:42:18 2023 +0800

    Merge pull request #6 from tudou2/master

    update pull

commit 7264827
Merge: 614d7eb b797ee4
Author: congxu <congxuma@126.com>
Date:   Mon Apr 17 10:24:43 2023 +0800

    Merge pull request #5 from tudou2/master

    update

commit 614d7eb
Merge: f3ce5c4 9df2178
Author: congxu <congxuma@126.com>
Date:   Thu Apr 13 18:22:08 2023 +0800

    Merge pull request #4 from tudou2/master

    update

commit f3ce5c4
Author: congxu <congxuma@126.com>
Date:   Thu Apr 13 18:20:45 2023 +0800

    Update getnews.py

commit df1cbdf
Merge: 62324b0 aaee15e
Author: congxu <congxuma@126.com>
Date:   Thu Apr 13 17:41:00 2023 +0800

    Merge pull request #3 from tudou2/master

    update
  • Loading branch information
congxuma committed Jul 23, 2023
1 parent 2ba7269 commit 3441924
Show file tree
Hide file tree
Showing 52 changed files with 498 additions and 496 deletions.
83 changes: 70 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,23 @@

> 欢迎接入更多应用,参考 [Terminal代码](https://github.com/zhayujie/chatgpt-on-wechat/blob/master/channel/terminal/terminal_channel.py)实现接收和发送消息逻辑即可接入。 同时欢迎增加新的插件,参考 [插件说明文档](https://github.com/zhayujie/chatgpt-on-wechat/tree/master/plugins)
**一键部署:**

[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/qApznZ?referralCode=RC3znh)

# 演示

https://user-images.githubusercontent.com/26161723/233777277-e3b9928e-b88f-43e2-b0e0-3cbc923bc799.mp4

Demo made by [Visionn](https://www.wangpc.cc/)

# 交流群

添加小助手微信进群,请备注 "wechat":

<img width="240" src="./docs/images/contact.jpg">

# 更新日志

>**2023.04.26:** 支持企业微信应用号部署,兼容插件,并支持语音图片交互,支持Railway部署,[使用文档](https://github.com/zhayujie/chatgpt-on-wechat/blob/master/channel/wechatcom/README.md)。(contributed by [@lanvent](https://github.com/lanvent) in [#944](https://github.com/zhayujie/chatgpt-on-wechat/pull/944))
>**2023.06.12:** 接入 [LinkAI](https://chat.link-ai.tech/console) 平台,可在线创建 个人知识库,并接入微信、公众号及企业微信中。使用参考 [接入文档](https://link-ai.tech/platform/link-app/wechat)
>**2023.04.26:** 支持企业微信应用号部署,兼容插件,并支持语音图片交互,私人助理理想选择,[使用文档](https://github.com/zhayujie/chatgpt-on-wechat/blob/master/channel/wechatcom/README.md)。(contributed by [@lanvent](https://github.com/lanvent) in [#944](https://github.com/zhayujie/chatgpt-on-wechat/pull/944))
>**2023.04.05:** 支持微信公众号部署,兼容插件,并支持语音图片交互,[使用文档](https://github.com/zhayujie/chatgpt-on-wechat/blob/master/channel/wechatmp/README.md)。(contributed by [@JS00000](https://github.com/JS00000) in [#686](https://github.com/zhayujie/chatgpt-on-wechat/pull/686))
Expand Down Expand Up @@ -54,6 +58,8 @@ Demo made by [Visionn](https://www.wangpc.cc/)
支持 Linux、MacOS、Windows 系统(可在Linux服务器上长期运行),同时需安装 `Python`
> 建议Python版本在 3.7.1~3.9.X 之间,推荐3.8版本,3.10及以上版本在 MacOS 可用,其他系统上不确定能否正常运行。
> 注意:Docker 或 Railway 部署无需安装python环境和下载源码,可直接快进到下一节。
**(1) 克隆项目代码:**

```bash
Expand Down Expand Up @@ -116,6 +122,7 @@ pip3 install azure-cognitiveservices-speech
"speech_recognition": false, # 是否开启语音识别
"group_speech_recognition": false, # 是否开启群组语音识别
"use_azure_chatgpt": false, # 是否使用Azure ChatGPT service代替openai ChatGPT service. 当设置为true时需要设置 open_ai_api_base,如 https://xxx.openai.azure.com/
"azure_deployment_id": "", # 采用Azure ChatGPT时,模型部署名称
"character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。", # 人格描述
# 订阅消息,公众号和企业微信channel中请填写,当被订阅时会自动回复,可使用特殊占位符。目前支持的占位符有{trigger_prefix},在程序中它会自动替换成bot的触发词。
"subscribe_msg": "感谢您的关注!\n这里是ChatGPT,可以自由对话。\n支持语音对话。\n支持图片输出,画字开头的消息将按要求创作图片。\n支持角色扮演和文字冒险等丰富插件。\n输入{trigger_prefix}#help 查看详细指令。"
Expand Down Expand Up @@ -143,19 +150,19 @@ pip3 install azure-cognitiveservices-speech

**4.其他配置**

+ `model`: 模型名称,目前支持 `gpt-3.5-turbo`, `text-davinci-003`, `gpt-4`, `gpt-4-32k` (其中gpt-4 api暂未开放)
+ `model`: 模型名称,目前支持 `gpt-3.5-turbo`, `text-davinci-003`, `gpt-4`, `gpt-4-32k` (其中gpt-4 api暂未完全开放,申请通过后可使用)
+ `temperature`,`frequency_penalty`,`presence_penalty`: Chat API接口参数,详情参考[OpenAI官方文档。](https://platform.openai.com/docs/api-reference/chat)
+ `proxy`:由于目前 `openai` 接口国内无法访问,需配置代理客户端的地址,详情参考 [#351](https://github.com/zhayujie/chatgpt-on-wechat/issues/351)
+ 对于图像生成,在满足个人或群组触发条件外,还需要额外的关键词前缀来触发,对应配置 `image_create_prefix `
+ 关于OpenAI对话及图片接口的参数配置(内容自由度、回复字数限制、图片大小等),可以参考 [对话接口](https://beta.openai.com/docs/api-reference/completions)[图像接口](https://beta.openai.com/docs/api-reference/completions) 文档直接在 [代码](https://github.com/zhayujie/chatgpt-on-wechat/blob/master/bot/openai/open_ai_bot.py) `bot/openai/open_ai_bot.py` 中进行调整
+ 关于OpenAI对话及图片接口的参数配置(内容自由度、回复字数限制、图片大小等),可以参考 [对话接口](https://beta.openai.com/docs/api-reference/completions)[图像接口](https://beta.openai.com/docs/api-reference/completions) 文档,在[`config.py`](https://github.com/zhayujie/chatgpt-on-wechat/blob/master/config.py)中检查哪些参数在本项目中是可配置的
+ `conversation_max_tokens`:表示能够记忆的上下文最大字数(一问一答为一组对话,如果累积的对话字数超出限制,就会优先移除最早的一组对话)
+ `rate_limit_chatgpt``rate_limit_dalle`:每分钟最高问答速率、画图速率,超速后排队按序处理。
+ `clear_memory_commands`: 对话内指令,主动清空前文记忆,字符串数组可自定义指令别名。
+ `hot_reload`: 程序退出后,暂存微信扫码状态,默认关闭。
+ `character_desc` 配置中保存着你对机器人说的一段话,他会记住这段话并作为他的设定,你可以为他定制任何人格 (关于会话上下文的更多内容参考该 [issue](https://github.com/zhayujie/chatgpt-on-wechat/issues/43))
+ `subscribe_msg`:订阅消息,公众号和企业微信channel中请填写,当被订阅时会自动回复, 可使用特殊占位符。目前支持的占位符有{trigger_prefix},在程序中它会自动替换成bot的触发词。

**所有可选的配置项均在该[文件](https://github.com/zhayujie/chatgpt-on-wechat/blob/master/config.py)中列出。**
**本说明文档可能会未及时更新,当前所有可选的配置项均在该[`config.py`](https://github.com/zhayujie/chatgpt-on-wechat/blob/master/config.py)中列出。**

## 运行

Expand Down Expand Up @@ -186,21 +193,71 @@ nohup python3 app.py & tail -f nohup.out # 在后台运行程序并通

### 3.Docker部署

参考文档 [Docker部署](https://github.com/limccn/chatgpt-on-wechat/wiki/Docker%E9%83%A8%E7%BD%B2) (Contributed by [limccn](https://github.com/limccn))。
> 使用docker部署无需下载源码和安装依赖,只需要获取 docker-compose.yml 配置文件并启动容器即可。
> 前提是需要安装好 `docker``docker-compose`,安装成功的表现是执行 `docker -v``docker-compose version` (或 docker compose version) 可以查看到版本号,可前往 [docker官网](https://docs.docker.com/engine/install/) 进行下载。
#### (1) 下载 docker-compose.yml 文件

```bash
wget https://open-1317903499.cos.ap-guangzhou.myqcloud.com/docker-compose.yml
```

下载完成后打开 `docker-compose.yml` 修改所需配置,如 `OPEN_AI_API_KEY``GROUP_NAME_WHITE_LIST` 等。

#### (2) 启动容器

`docker-compose.yml` 所在目录下执行以下命令启动容器:

```bash
sudo docker compose up -d
```

运行 `sudo docker ps` 能查看到 NAMES 为 chatgpt-on-wechat 的容器即表示运行成功。

注意:

- 如果 `docker-compose` 是 1.X 版本 则需要执行 `sudo docker-compose up -d` 来启动容器
- 该命令会自动去 [docker hub](https://hub.docker.com/r/zhayujie/chatgpt-on-wechat) 拉取 latest 版本的镜像,latest 镜像会在每次项目 release 新的版本时生成

最后运行以下命令可查看容器运行日志,扫描日志中的二维码即可完成登录:

```bash
sudo docker logs -f chatgpt-on-wechat
```

#### (3) 插件使用

### 4. Railway部署 (✅推荐)
> Railway每月提供5刀和最多500小时的免费额度。
1. 进入 [Railway](https://railway.app/template/qApznZ?referralCode=RC3znh)
如果需要在docker容器中修改插件配置,可通过挂载的方式完成,将 [插件配置文件](https://github.com/zhayujie/chatgpt-on-wechat/blob/master/plugins/config.json.template)
重命名为 `config.json`,放置于 `docker-compose.yml` 相同目录下,并在 `docker-compose.yml` 中的 `chatgpt-on-wechat` 部分下添加 `volumes` 映射:

```
volumes:
- ./config.json:/app/plugins/config.json
```

### 4. Railway部署

> Railway 每月提供5刀和最多500小时的免费额度。 (07.11更新: 目前大部分账号已无法免费部署)
1. 进入 [Railway](https://railway.app/template/qApznZ?referralCode=RC3znh)
2. 点击 `Deploy Now` 按钮。
3. 设置环境变量来重载程序运行的参数,例如`open_ai_api_key`, `character_desc`

**一键部署:**

[![Deploy on Railway](https://railway.app/button.svg)](https://railway.app/template/qApznZ?referralCode=RC3znh)

## 常见问题

FAQs: <https://github.com/zhayujie/chatgpt-on-wechat/wiki/FAQs>

或直接在线咨询 [项目小助手](https://chat.link-ai.tech/app/Kv2fXJcH) (beta版本,语料完善中,回复仅供参考)

## 联系

欢迎提交PR、Issues,以及Star支持一下。程序运行遇到问题优先查看 [常见问题列表](https://github.com/zhayujie/chatgpt-on-wechat/wiki/FAQs) ,其次前往 [Issues](https://github.com/zhayujie/chatgpt-on-wechat/issues) 中搜索。如果你想了解更多项目细节,并与开发者们交流更多关于AI技术的实践,欢迎加入星球:
欢迎提交PR、Issues,以及Star支持一下。程序运行遇到问题可以查看 [常见问题列表](https://github.com/zhayujie/chatgpt-on-wechat/wiki/FAQs) ,其次前往 [Issues](https://github.com/zhayujie/chatgpt-on-wechat/issues) 中搜索。

如果你想了解更多项目细节,与开发者们交流更多关于AI技术的实践,欢迎加入星球:

<a href="https://public.zsxq.com/groups/88885848842852.html"><img width="360" src="./docs/images/planet.jpg"></a>
5 changes: 5 additions & 0 deletions bot/bot_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,9 @@ def create_bot(bot_type):
from bot.chatgpt.chat_gpt_bot import AzureChatGPTBot

return AzureChatGPTBot()

elif bot_type == const.LINKAI:
from bot.linkai.link_ai_bot import LinkAIBot
return LinkAIBot()

raise RuntimeError
26 changes: 19 additions & 7 deletions bot/chatgpt/chat_gpt_bot.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ def __init__(self):
"model": conf().get("model") or "gpt-3.5-turbo", # 对话模型的名称
"temperature": conf().get("temperature", 0.9), # 值在[0,1]之间,越大表示回复越具有不确定性
# "max_tokens":4096, # 回复最大的字符数
"top_p": 1,
"top_p": conf().get("top_p", 1),
"frequency_penalty": conf().get("frequency_penalty", 0.0), # [-2,2]之间,该值越大则更倾向于产生不同的内容
"presence_penalty": conf().get("presence_penalty", 0.0), # [-2,2]之间,该值越大则更倾向于产生不同的内容
"request_timeout": conf().get("request_timeout", None), # 请求超时时间,openai接口默认设置为600,对于难问题一般需要较长时间
Expand Down Expand Up @@ -66,12 +66,16 @@ def reply(self, query, context=None):
logger.debug("[CHATGPT] session query={}".format(session.messages))

api_key = context.get("openai_api_key")

model = context.get("gpt_model")
new_args = None
if model:
new_args = self.args.copy()
new_args["model"] = model
# if context.get('stream'):
# # reply in stream
# return self.reply_text_stream(query, new_query, session_id)

reply_content = self.reply_text(session, api_key)
reply_content = self.reply_text(session, api_key, args=new_args)
logger.debug(
"[CHATGPT] new_query={}, session_id={}, reply_cont={}, completion_tokens={}".format(
session.messages,
Expand Down Expand Up @@ -102,7 +106,7 @@ def reply(self, query, context=None):
reply = Reply(ReplyType.ERROR, "Bot不支持处理{}类型的消息".format(context.type))
return reply

def reply_text(self, session: ChatGPTSession, api_key=None, retry_count=0) -> dict:
def reply_text(self, session: ChatGPTSession, api_key=None, args=None, retry_count=0) -> dict:
"""
call openai's ChatCompletion to get the answer
:param session: a conversation session
Expand All @@ -114,7 +118,10 @@ def reply_text(self, session: ChatGPTSession, api_key=None, retry_count=0) -> di
if conf().get("rate_limit_chatgpt") and not self.tb4chatgpt.get_token():
raise openai.error.RateLimitError("RateLimitError: rate limit exceeded")
# if api_key == None, the default openai.api_key will be used
response = openai.ChatCompletion.create(api_key=api_key, messages=session.messages, **self.args)
if args is None:
args = self.args
response = openai.ChatCompletion.create(api_key=api_key, messages=session.messages, **args)
# logger.debug("[CHATGPT] response={}".format(response))
# logger.info("[ChatGPT] reply={}, total_tokens={}".format(response.choices[0]['message']['content'], response["usage"]["total_tokens"]))
return {
"total_tokens": response["usage"]["total_tokens"],
Expand All @@ -134,18 +141,23 @@ def reply_text(self, session: ChatGPTSession, api_key=None, retry_count=0) -> di
result["content"] = "我没有收到你的消息"
if need_retry:
time.sleep(5)
elif isinstance(e, openai.error.APIError):
logger.warn("[CHATGPT] Bad Gateway: {}".format(e))
result["content"] = "请再问我一次"
if need_retry:
time.sleep(10)
elif isinstance(e, openai.error.APIConnectionError):
logger.warn("[CHATGPT] APIConnectionError: {}".format(e))
need_retry = False
result["content"] = "我连接不到你的网络"
else:
logger.warn("[CHATGPT] Exception: {}".format(e))
logger.exception("[CHATGPT] Exception: {}".format(e))
need_retry = False
self.sessions.clear_session(session.session_id)

if need_retry:
logger.warn("[CHATGPT] 第{}次重试".format(retry_count + 1))
return self.reply_text(session, api_key, retry_count + 1)
return self.reply_text(session, api_key, args, retry_count + 1)
else:
return result

Expand Down
17 changes: 9 additions & 8 deletions bot/chatgpt/chat_gpt_session.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,24 +57,25 @@ def num_tokens_from_messages(messages, model):
"""Returns the number of tokens used by a list of messages."""
import tiktoken

if model in ["gpt-3.5-turbo-0301", "gpt-35-turbo"]:
return num_tokens_from_messages(messages, model="gpt-3.5-turbo")
elif model in ["gpt-4-0314", "gpt-4-0613", "gpt-4-32k", "gpt-4-32k-0613", "gpt-3.5-turbo-0613", "gpt-3.5-turbo-16k", "gpt-3.5-turbo-16k-0613", "gpt-35-turbo-16k"]:
return num_tokens_from_messages(messages, model="gpt-4")

try:
encoding = tiktoken.encoding_for_model(model)
except KeyError:
logger.debug("Warning: model not found. Using cl100k_base encoding.")
encoding = tiktoken.get_encoding("cl100k_base")
if model == "gpt-3.5-turbo" or model == "gpt-35-turbo":
return num_tokens_from_messages(messages, model="gpt-3.5-turbo-0301")
elif model == "gpt-4":
return num_tokens_from_messages(messages, model="gpt-4-0314")
elif model == "gpt-3.5-turbo-0301":
if model == "gpt-3.5-turbo":
tokens_per_message = 4 # every message follows <|start|>{role/name}\n{content}<|end|>\n
tokens_per_name = -1 # if there's a name, the role is omitted
elif model == "gpt-4-0314":
elif model == "gpt-4":
tokens_per_message = 3
tokens_per_name = 1
else:
logger.warn(f"num_tokens_from_messages() is not implemented for model {model}. Returning num tokens assuming gpt-3.5-turbo-0301.")
return num_tokens_from_messages(messages, model="gpt-3.5-turbo-0301")
logger.warn(f"num_tokens_from_messages() is not implemented for model {model}. Returning num tokens assuming gpt-3.5-turbo.")
return num_tokens_from_messages(messages, model="gpt-3.5-turbo")
num_tokens = 0
for message in messages:
num_tokens += tokens_per_message
Expand Down
Loading

0 comments on commit 3441924

Please sign in to comment.