Closed mwnu closed 1 year ago
日志有报错吗? 拉取的是最新的docker镜像吗?
最近Openai 对免费账号送的额度做了请求限制,响应很慢,可能出现超时的情形,需要结合日志看看。
此外!gpt
命令也是报错?
日志有报错吗? 拉取的是最新的docker镜像吗?
最近Openai 对免费账号送的额度做了请求限制,响应很慢,可能出现超时的情形,需要结合日志看看。
此外
!gpt
命令也是报错?
是最新镜像,非免费key。 !gpt 命令正常,但如果!pic !chat !bing 其中一个命令没有响应,!gpt也没有响应,应该是被阻塞了。
阻塞的问题我也遇到了,一直没想好怎么解决,我继续研究下,到时候给你反馈。
阻塞的问题我也遇到了,一直没想好怎么解决,我继续研究下,到时候给你反馈。
顺便反馈下似乎不支持bing 的引用链接和markdown格式?
bing指令 是支持 markdown 的,前提是里面有代码标签 ``` 才会将消息以markdown的形式处理,当然后期可以优化一下,比如考虑更多的markdown标签 代码这里用正则匹配了一下: https://github.com/hibobmaster/matrix_chatgpt_bot/blob/e086568821fdec379a0bd9ed3b78d126dc856dae/send_message.py#L17
这么处理是为了避免所有消息都转为 markdown,可能有意料之外的问题。
Bing 引用链接跟所用的api有点关系,返回的信息里没有带链接信息,只有文本 https://github.com/waylaidwanderer/node-chatgpt-api
bing指令 是支持 markdown 的,前提是里面有代码标签 ``` 才会将消息以markdown的形式处理,当然后期可以优化一下,比如考虑更多的markdown标签 代码这里用正则匹配了一下:
这么处理是为了避免所有消息都转为 markdown,可能有意料之外的问题
了解
另外增加了对*号和|号的判断,当响应有上述符号时自动转为markdown格式
阻塞的问题解决了: Bing 互联网资源引用也解决了:
请拉取最新镜像 https://github.com/hibobmaster/matrix_chatgpt_bot/releases/tag/v1.0.3
仍然不能自动转为markdown格式。同样的内容我发的话就能自动转markdown?
阻塞应该没有了,但是!bing经常无法响应,!chat 从未有响应,!gpt 偶尔也没有响应,也不知道是我的网络问题还是别的原因。多次超时之后,机器人可能不再响应(不显示正在输出...也没有日志)
另外还有一个问题是,插件重启之后似乎会把之前的问题重新回答一遍,而且会出现回复房间的错乱和内容上下段之间的错乱。
!bing经常无法响应
关于!bing无法响应的问题,可能是 Cookie 失效了
另外还有一个问题是,插件重启之后似乎会把之前的问题重新回答一遍
请检查数据库文件是否有持久化保存,比如看看大小是多少,正常情况下应该有几百K到几M
!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:
我都是照着模板配置的,markdown_formatted这个参数没有,其他一样,jailbreakEnabled这个参数不知道什么意思。 数据之前映射的是没有后缀的文件,机器人没有响应也没用日志,后面我想这大概是SQLite 文件,就给它加了后缀(- ./bot.db:/app/db),可以响应也能看到日志了,但数据库文件一直是0kb。 然后bing没有响应的问题大概还是和网络有关,后面又能用了。
如果你需要机器人发送的代码有高亮,markdown_formatted
这个参数需要开启
jailbreakEnabled
就是解决bing对话次数限制用的
但数据库文件一直是0kb
这也是为什么容器重启之后会把之前的问题重新回答一遍。 你需要在第一次启动容器之前,手动创建一个空的文件,而不是等待容器创建 你可以进终端,使用 touch 指令创建一个空文件
touch db
然后第一次启动后,数据会被保存至数据库里,之后重启就不会再把之前的问题重新回答一遍了
如果你需要机器人发送的代码有高亮, 这个参数需要开启 就是解决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 回答的引用会倒置到头部,这是预期行为,不好修改
我试过了,终端root, touch bot,重新映射,仍然是okb,我甚至重新安装了一遍容器。
你是使用access_token登录的还是账号密码?access_token疑似会有这个问题。
另外!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/chatGPT/Google's Bard机器人的响应我没法控制,很难进行全局性的微调,很容易误伤~ 我目前是匹配机器人的响应是否有markdown的关键字符,比如```(多行代码), |(表格), *(列表) 来决定是否将响应通过markdown库转为html富文本,否则按照普通文本输出。
所以要实现理想的效果比较难,因为机器人的响应本身就不是规范的。
@mwnu 我突然想到一个办法,应对数据库大小一直是0kb的情况了。
你先不要映射数据库,直接启动,然后将容器里的数据库拷贝出来,再添加数据库的映射,看是否解决问题。
其它人也部署了,没有遇到该问题,请提供更多信息。
有任何想法可以重新开启该issue
机器人处于一直正在输入...的状态。