使用!chat 上下文对话会卡住 #5

Closed
opened 2023-04-14 08:26:21 +08:00 by mwnu · 19 comments
mwnu commented 2023-04-14 08:26:21 +08:00 (Migrated from github.com)

机器人处于一直正在输入...的状态。

机器人处于一直正在输入...的状态。
hibobmaster commented 2023-04-14 09:15:43 +08:00 (Migrated from github.com)

日志有报错吗?
拉取的是最新的docker镜像吗?

最近Openai 对免费账号送的额度做了请求限制,响应很慢,可能出现超时的情形,需要结合日志看看。

此外!gpt 命令也是报错?

日志有报错吗? 拉取的是最新的docker镜像吗? 最近Openai 对免费账号送的额度做了请求限制,响应很慢,可能出现超时的情形,需要结合日志看看。 此外`!gpt` 命令也是报错?
mwnu commented 2023-04-14 11:03:43 +08:00 (Migrated from github.com)

日志有报错吗? 拉取的是最新的docker镜像吗?

最近Openai 对免费账号送的额度做了请求限制,响应很慢,可能出现超时的情形,需要结合日志看看。

此外!gpt 命令也是报错?

是最新镜像,非免费key。
!gpt 命令正常,但如果!pic !chat !bing 其中一个命令没有响应,!gpt也没有响应,应该是被阻塞了。

> 日志有报错吗? 拉取的是最新的docker镜像吗? > > 最近Openai 对免费账号送的额度做了请求限制,响应很慢,可能出现超时的情形,需要结合日志看看。 > > 此外`!gpt` 命令也是报错? 是最新镜像,非免费key。 !gpt 命令正常,但如果!pic !chat !bing 其中一个命令没有响应,!gpt也没有响应,应该是被阻塞了。
hibobmaster commented 2023-04-14 11:08:46 +08:00 (Migrated from github.com)

阻塞的问题我也遇到了,一直没想好怎么解决,我继续研究下,到时候给你反馈。

阻塞的问题我也遇到了,一直没想好怎么解决,我继续研究下,到时候给你反馈。
mwnu commented 2023-04-14 11:12:35 +08:00 (Migrated from github.com)

阻塞的问题我也遇到了,一直没想好怎么解决,我继续研究下,到时候给你反馈。

顺便反馈下似乎不支持bing 的引用链接和markdown格式?

> 阻塞的问题我也遇到了,一直没想好怎么解决,我继续研究下,到时候给你反馈。 顺便反馈下似乎不支持bing 的引用链接和markdown格式?
hibobmaster commented 2023-04-14 11:17:38 +08:00 (Migrated from github.com)

bing指令 是支持 markdown 的,前提是里面有代码标签 ``` 才会将消息以markdown的形式处理,当然后期可以优化一下,比如考虑更多的markdown标签
代码这里用正则匹配了一下: e086568821/send_message.py (L17)
image

这么处理是为了避免所有消息都转为 markdown,可能有意料之外的问题。

Bing 引用链接跟所用的api有点关系,返回的信息里没有带链接信息,只有文本
https://github.com/waylaidwanderer/node-chatgpt-api

bing指令 是支持 markdown 的,前提是里面有代码标签 ``` 才会将消息以markdown的形式处理,当然后期可以优化一下,比如考虑更多的markdown标签 代码这里用正则匹配了一下: https://github.com/hibobmaster/matrix_chatgpt_bot/blob/e086568821fdec379a0bd9ed3b78d126dc856dae/send_message.py#L17 ![image](https://user-images.githubusercontent.com/32976627/231932530-d06d5853-7612-4b41-8b2d-c2781a1aef6b.png) 这么处理是为了避免所有消息都转为 markdown,可能有意料之外的问题。 Bing 引用链接跟所用的api有点关系,返回的信息里没有带链接信息,只有文本 https://github.com/waylaidwanderer/node-chatgpt-api
mwnu commented 2023-04-14 11:21:14 +08:00 (Migrated from github.com)

bing指令 是支持 markdown 的,前提是里面有代码标签 ``` 才会将消息以markdown的形式处理,当然后期可以优化一下,比如考虑更多的markdown标签 代码这里用正则匹配了一下:

e086568821/send_message.py (L17)

image
这么处理是为了避免所有消息都转为 markdown,可能有意料之外的问题

了解

> bing指令 是支持 markdown 的,前提是里面有代码标签 ``` 才会将消息以markdown的形式处理,当然后期可以优化一下,比如考虑更多的markdown标签 代码这里用正则匹配了一下: > > https://github.com/hibobmaster/matrix_chatgpt_bot/blob/e086568821fdec379a0bd9ed3b78d126dc856dae/send_message.py#L17 > > > ![image](https://user-images.githubusercontent.com/32976627/231932530-d06d5853-7612-4b41-8b2d-c2781a1aef6b.png) > 这么处理是为了避免所有消息都转为 markdown,可能有意料之外的问题 了解
hibobmaster commented 2023-04-14 19:45:51 +08:00 (Migrated from github.com)

另外增加了对*号和|号的判断,当响应有上述符号时自动转为markdown格式
image

阻塞的问题解决了:
Screenshot 2023-04-14 at 19-02-10 圈圈之地 e2e-bot-debug
Bing 互联网资源引用也解决了:
Screenshot 2023-04-14 at 19-33-49 圈圈之地 test---111111-normal-not-docker

请拉取最新镜像
https://github.com/hibobmaster/matrix_chatgpt_bot/releases/tag/v1.0.3

另外增加了对*号和|号的判断,当响应有上述符号时自动转为markdown格式 ![image](https://user-images.githubusercontent.com/32976627/232036665-6535c4d8-c003-492e-9b58-720efe73e3ea.png) 阻塞的问题解决了: ![Screenshot 2023-04-14 at 19-02-10 圈圈之地 e2e-bot-debug](https://user-images.githubusercontent.com/32976627/232035165-f5d86e3e-dede-4edc-a133-d3d194d3a4ff.png) Bing 互联网资源引用也解决了: ![Screenshot 2023-04-14 at 19-33-49 圈圈之地 test---111111-normal-not-docker](https://user-images.githubusercontent.com/32976627/232035217-3610d369-4b9f-49d4-a569-8e5f6e29b8ad.png) 请拉取最新镜像 https://github.com/hibobmaster/matrix_chatgpt_bot/releases/tag/v1.0.3
mwnu commented 2023-04-14 22:33:19 +08:00 (Migrated from github.com)

仍然不能自动转为markdown格式。同样的内容我发的话就能自动转markdown?
image

阻塞应该没有了,但是!bing经常无法响应,!chat 从未有响应,!gpt 偶尔也没有响应,也不知道是我的网络问题还是别的原因。多次超时之后,机器人可能不再响应(不显示正在输出...也没有日志)
image
image

另外还有一个问题是,插件重启之后似乎会把之前的问题重新回答一遍,而且会出现回复房间的错乱和内容上下段之间的错乱。

仍然不能自动转为markdown格式。同样的内容我发的话就能自动转markdown? ![image](https://user-images.githubusercontent.com/45463732/232071349-f75dce1a-1507-4501-bb76-bf04235fa5f7.png) 阻塞应该没有了,但是!bing经常无法响应,!chat 从未有响应,!gpt 偶尔也没有响应,也不知道是我的网络问题还是别的原因。多次超时之后,机器人可能不再响应(不显示正在输出...也没有日志) ![image](https://user-images.githubusercontent.com/45463732/232072149-2c508094-43ab-4aa4-9618-2a29cc3e90d9.png) ![image](https://user-images.githubusercontent.com/45463732/232074042-84281726-e792-4dc8-86db-77f4fa690ea9.png) 另外还有一个问题是,插件重启之后似乎会把之前的问题重新回答一遍,而且会出现回复房间的错乱和内容上下段之间的错乱。
mwnu commented 2023-04-14 22:45:38 +08:00 (Migrated from github.com)

!bing经常无法响应

关于!bing无法响应的问题,可能是 Cookie 失效了

> !bing经常无法响应 关于!bing无法响应的问题,可能是 Cookie 失效了
hibobmaster commented 2023-04-14 22:50:01 +08:00 (Migrated from github.com)

你发的内容会转为markdown是客户端自动转换的。

此外配置你添加了吗?9a51863d0f/config.json.sample (L13)
或者
9a51863d0f/.env.example (L13)
请将你的配置打码粘贴上来。

你发的内容会转为markdown是客户端自动转换的。 此外配置你添加了吗?https://github.com/hibobmaster/matrix_chatgpt_bot/blob/9a51863d0f9f064c9e7bf4f34fbc7070e144c394/config.json.sample#L13 或者 https://github.com/hibobmaster/matrix_chatgpt_bot/blob/9a51863d0f9f064c9e7bf4f34fbc7070e144c394/.env.example#L13 请将你的配置打码粘贴上来。
hibobmaster commented 2023-04-14 22:52:08 +08:00 (Migrated from github.com)

另外还有一个问题是,插件重启之后似乎会把之前的问题重新回答一遍

请检查数据库文件是否有持久化保存,比如看看大小是多少,正常情况下应该有几百K到几M

> 另外还有一个问题是,插件重启之后似乎会把之前的问题重新回答一遍 请检查数据库文件是否有持久化保存,比如看看大小是多少,正常情况下应该有几百K到几M
hibobmaster commented 2023-04-14 23:01:29 +08:00 (Migrated from github.com)

!chat 从未响应是指,机器人没反应也没有任何日志?
这个是matrix.qqs.tw实例使用的配置文件和compose文件。

{
  "homeserver": "https://xxxxxxxxxxxxxxxx",
  "user_id": "@xxxxxxxxx:xxxxxxxx",
  "password": "xxxxxxxxxxxxx9",
  "device_id": "DFYExxxxxxxxx",
  "api_key": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "bing_api_endpoint": "http://api:3000/conversation",
  "bard_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "jailbreakEnabled": true,
  "bing_auth_cookie": "xxxxxxxxxxxxxxxxxxxxx",
  "markdown_formatted": true
}
services:
  app:
    image: hibobmaster/matrixchatgptbot:latest
    container_name: matrix_chatgpt_bot
    restart: always
    # build:
    #   context: .
    #   dockerfile: ./Dockerfile
    #env_file:
    #  - .env
    volumes:
      # use env file or config.json
      - ./config.json:/app/config.json
      # use touch to create an empty file db, for persist database only
      - ./bot:/app/db
    networks:
      - matrix_network
  api:
  # bing api
    image: hibobmaster/node-chatgpt-api:latest
    container_name: node-chatgpt-api-matrix
    restart: always
    volumes:
      - ./settings.js:/var/chatgpt-api/settings.js
    networks:
      - matrix_network

networks:
  matrix_network:
!chat 从未响应是指,机器人没反应也没有任何日志? 这个是`matrix.qqs.tw`实例使用的配置文件和compose文件。 ```json { "homeserver": "https://xxxxxxxxxxxxxxxx", "user_id": "@xxxxxxxxx:xxxxxxxx", "password": "xxxxxxxxxxxxx9", "device_id": "DFYExxxxxxxxx", "api_key": "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "bing_api_endpoint": "http://api:3000/conversation", "bard_token": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "jailbreakEnabled": true, "bing_auth_cookie": "xxxxxxxxxxxxxxxxxxxxx", "markdown_formatted": true } ``` ```yaml services: app: image: hibobmaster/matrixchatgptbot:latest container_name: matrix_chatgpt_bot restart: always # build: # context: . # dockerfile: ./Dockerfile #env_file: # - .env volumes: # use env file or config.json - ./config.json:/app/config.json # use touch to create an empty file db, for persist database only - ./bot:/app/db networks: - matrix_network api: # bing api image: hibobmaster/node-chatgpt-api:latest container_name: node-chatgpt-api-matrix restart: always volumes: - ./settings.js:/var/chatgpt-api/settings.js networks: - matrix_network networks: matrix_network: ```
mwnu commented 2023-04-16 09:21:28 +08:00 (Migrated from github.com)

我都是照着模板配置的,markdown_formatted这个参数没有,其他一样,jailbreakEnabled这个参数不知道什么意思。
数据之前映射的是没有后缀的文件,机器人没有响应也没用日志,后面我想这大概是SQLite 文件,就给它加了后缀(- ./bot.db:/app/db),可以响应也能看到日志了,但数据库文件一直是0kb。
然后bing没有响应的问题大概还是和网络有关,后面又能用了。

> 我都是照着模板配置的,markdown_formatted这个参数没有,其他一样,jailbreakEnabled这个参数不知道什么意思。 数据之前映射的是没有后缀的文件,机器人没有响应也没用日志,后面我想这大概是SQLite 文件,就给它加了后缀(- ./bot.db:/app/db),可以响应也能看到日志了,但数据库文件一直是0kb。 然后bing没有响应的问题大概还是和网络有关,后面又能用了。
hibobmaster commented 2023-04-16 09:27:28 +08:00 (Migrated from github.com)

如果你需要机器人发送的代码有高亮,markdown_formatted 这个参数需要开启
jailbreakEnabled 就是解决bing对话次数限制用的

但数据库文件一直是0kb

这也是为什么容器重启之后会把之前的问题重新回答一遍。
你需要在第一次启动容器之前,手动创建一个空的文件,而不是等待容器创建
你可以进终端,使用 touch 指令创建一个空文件

touch db

然后第一次启动后,数据会被保存至数据库里,之后重启就不会再把之前的问题重新回答一遍了

如果你需要机器人发送的代码有高亮,`markdown_formatted` 这个参数需要开启 `jailbreakEnabled` 就是解决bing对话次数限制用的 > 但数据库文件一直是0kb 这也是为什么容器重启之后会把之前的问题重新回答一遍。 你需要在第一次启动容器之前,手动创建一个空的文件,而不是等待容器创建 你可以进终端,使用 touch 指令创建一个空文件 ```sh touch db ``` 然后第一次启动后,数据会被保存至数据库里,之后重启就不会再把之前的问题重新回答一遍了
mwnu commented 2023-04-16 10:10:50 +08:00 (Migrated from github.com)

如果你需要机器人发送的代码有高亮, 这个参数需要开启 就是解决bing对话次数限制用的markdown_formatted``jailbreakEnabled

但数据库文件一直是0kb

这也是为什么容器重启之后会把之前的问题重新回答一遍。 你需要在第一次启动容器之前,手动创建一个空的文件,而不是等待容器创建 你可以进终端,使用 touch 指令创建一个空文件

touch db

然后第一次启动后,数据会被保存至数据库里,之后重启就不会再把之前的问题重新回答一遍了

用root账号

如果你需要机器人发送的代码有高亮,markdown_formatted 这个参数需要开启 jailbreakEnabled 就是解决bing对话次数限制用的

但数据库文件一直是0kb

这也是为什么容器重启之后会把之前的问题重新回答一遍。 你需要在第一次启动容器之前,手动创建一个空的文件,而不是等待容器创建 你可以进终端,使用 touch 指令创建一个空文件

touch db

然后第一次启动后,数据会被保存至数据库里,之后重启就不会再把之前的问题重新回答一遍了

我试过了,终端root, touch bot,重新映射,仍然是okb,我甚至重现安装了一遍容器。
如果重启容器之前有问题卡住了,重启之后会重新回答所有之前问题。
!chat 就是没有任何响应,没有日志。
另外!bing 回答的引用会倒置到头部,例如这样:

[1]: https://www.meishichina.com/Eat/Culture/201005/80965.html "冰淇淋的由来与定义_美食天下"
[2]: https://zh.wikipedia.org/zh-tw/%E5%86%B0%E6%B7%87%E6%B7%8B "冰淇淋 - 維基百科,自由的百科全書"
冰淇淋算不算饮料,这个问题好难啊!🤔
我查了一下,冰淇淋是一种冷冻的甜品,通常以乳制品为原料,加入水果或其他成分和香料混合制成。[^1^][1] [^2^][2]
> 如果你需要机器人发送的代码有高亮, 这个参数需要开启 就是解决bing对话次数限制用的`markdown_formatted``jailbreakEnabled` > > > 但数据库文件一直是0kb > > 这也是为什么容器重启之后会把之前的问题重新回答一遍。 你需要在第一次启动容器之前,手动创建一个空的文件,而不是等待容器创建 你可以进终端,使用 touch 指令创建一个空文件 > > ```shell > touch db > ``` > > 然后第一次启动后,数据会被保存至数据库里,之后重启就不会再把之前的问题重新回答一遍了 用root账号 > 如果你需要机器人发送的代码有高亮,`markdown_formatted` 这个参数需要开启 `jailbreakEnabled` 就是解决bing对话次数限制用的 > > > 但数据库文件一直是0kb > > 这也是为什么容器重启之后会把之前的问题重新回答一遍。 你需要在第一次启动容器之前,手动创建一个空的文件,而不是等待容器创建 你可以进终端,使用 touch 指令创建一个空文件 > > ```shell > touch db > ``` > > 然后第一次启动后,数据会被保存至数据库里,之后重启就不会再把之前的问题重新回答一遍了 我试过了,终端root, touch bot,重新映射,仍然是okb,我甚至重现安装了一遍容器。 如果重启容器之前有问题卡住了,重启之后会重新回答所有之前问题。 !chat 就是没有任何响应,没有日志。 另外!bing 回答的引用会倒置到头部,例如这样: ``` [1]: https://www.meishichina.com/Eat/Culture/201005/80965.html "冰淇淋的由来与定义_美食天下" [2]: https://zh.wikipedia.org/zh-tw/%E5%86%B0%E6%B7%87%E6%B7%8B "冰淇淋 - 維基百科,自由的百科全書" 冰淇淋算不算饮料,这个问题好难啊!🤔 我查了一下,冰淇淋是一种冷冻的甜品,通常以乳制品为原料,加入水果或其他成分和香料混合制成。[^1^][1] [^2^][2] ```
hibobmaster commented 2023-04-16 10:19:04 +08:00 (Migrated from github.com)

另外!bing 回答的引用会倒置到头部,这是预期行为,不好修改

我试过了,终端root, touch bot,重新映射,仍然是okb,我甚至重新安装了一遍容器。

你是使用access_token登录的还是账号密码?access_token疑似会有这个问题。

另外!bing 回答的引用会倒置到头部,这是预期行为,不好修改 > 我试过了,终端root, touch bot,重新映射,仍然是okb,我甚至重新安装了一遍容器。 你是使用access_token登录的还是账号密码?access_token疑似会有这个问题。
mwnu commented 2023-04-16 10:32:36 +08:00 (Migrated from github.com)

另外!bing 回答的引用会倒置到头部,这是预期行为,不好修改

我试过了,终端root, touch bot,重新映射,仍然是okb,我甚至重新安装了一遍容器。

你是使用access_token登录的还是账号密码?access_token疑似会有这个问题。

账号登陆的
我试了下matrix中的markdown脚注是要放在前面才能被正确转换为链接,例如这样:

[1]: https://www.meishichina.com/Eat/Culture/201005/80965.html "冰淇淋的由来与定义_美食天下"
[2]: https://zh.wikipedia.org/zh-tw/%E5%86%B0%E6%B7%87%E6%B7%8B "冰淇淋 - 維基百科,自由的百科全書"
我查了一下,冰淇淋是一种冷冻的甜品[1],通常以乳制品为原料,加入水果或其他成分和香料混合制成。[2]

而通常markdown的语法表示脚注的方式需要加上“^”号并把引用放后面:

我查了一下,冰淇淋是一种冷冻的甜品[^1],通常以乳制品为原料,加入水果或其他成分和香料混合制成。[^2]
[^1]: https://www.meishichina.com/Eat/Culture/201005/80965.html "冰淇淋的由来与定义_美食天下"
[^2]: https://zh.wikipedia.org/zh-tw/%E5%86%B0%E6%B7%87%E6%B7%8B "冰淇淋 - 維基百科,自由的百科全書"
> 另外!bing 回答的引用会倒置到头部,这是预期行为,不好修改 > > > 我试过了,终端root, touch bot,重新映射,仍然是okb,我甚至重新安装了一遍容器。 > > 你是使用access_token登录的还是账号密码?access_token疑似会有这个问题。 账号登陆的 我试了下matrix中的markdown脚注是要放在前面才能被正确转换为链接,例如这样: ``` [1]: https://www.meishichina.com/Eat/Culture/201005/80965.html "冰淇淋的由来与定义_美食天下" [2]: https://zh.wikipedia.org/zh-tw/%E5%86%B0%E6%B7%87%E6%B7%8B "冰淇淋 - 維基百科,自由的百科全書" 我查了一下,冰淇淋是一种冷冻的甜品[1],通常以乳制品为原料,加入水果或其他成分和香料混合制成。[2] ``` 而通常markdown的语法表示脚注的方式需要加上“^”号并把引用放后面: ``` 我查了一下,冰淇淋是一种冷冻的甜品[^1],通常以乳制品为原料,加入水果或其他成分和香料混合制成。[^2] [^1]: https://www.meishichina.com/Eat/Culture/201005/80965.html "冰淇淋的由来与定义_美食天下" [^2]: https://zh.wikipedia.org/zh-tw/%E5%86%B0%E6%B7%87%E6%B7%8B "冰淇淋 - 維基百科,自由的百科全書" ```
hibobmaster commented 2023-04-16 10:47:02 +08:00 (Migrated from github.com)

Bing/chatGPT/Google's Bard机器人的响应我没法控制,很难进行全局性的微调,很容易误伤~
我目前是匹配机器人的响应是否有markdown的关键字符,比如```(多行代码), |(表格), *(列表) 来决定是否将响应通过markdown库转为html富文本,否则按照普通文本输出。
image
image

所以要实现理想的效果比较难,因为机器人的响应本身就不是规范的。

Bing/chatGPT/Google's Bard机器人的响应我没法控制,很难进行全局性的微调,很容易误伤~ 我目前是匹配机器人的响应是否有markdown的关键字符,比如```(多行代码), |(表格), *(列表) 来决定是否将响应通过markdown库转为html富文本,否则按照普通文本输出。 ![image](https://user-images.githubusercontent.com/32976627/232263359-c54df072-7043-4afa-bd51-74a8a41617d2.png) ![image](https://user-images.githubusercontent.com/32976627/232263384-a8cc1545-8952-40f9-a0dd-31aebc7b01b3.png) 所以要实现理想的效果比较难,因为机器人的响应本身就不是规范的。
hibobmaster commented 2023-04-16 11:01:08 +08:00 (Migrated from github.com)

@mwnu 我突然想到一个办法,应对数据库大小一直是0kb的情况了。
你先不要映射数据库,直接启动,然后将容器里的数据库拷贝出来,再添加数据库的映射,看是否解决问题。

其它人也部署了,没有遇到该问题,请提供更多信息。

有任何想法可以重新开启该issue

<del>@mwnu 我突然想到一个办法,应对数据库大小一直是0kb的情况了。 你先不要映射数据库,直接启动,然后将容器里的数据库拷贝出来,再添加数据库的映射,看是否解决问题。</del> 其它人也部署了,没有遇到该问题,请提供更多信息。 有任何想法可以重新开启该issue
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: bobmaster/matrix_chatgpt_bot#5
No description provided.