Well2333 / nonebot-plugin-bilichat

一个通过 OpenAI 来对b站视频进行总结的多功能 B站解析插件
GNU Affero General Public License v3.0
221 stars 8 forks source link

优化生成总结图片的性能 #122

Closed cj1357 closed 10 months ago

cj1357 commented 10 months ago

希望能解决的问题

在最后生成总结图片的时候,超级占用内存跟CPU,性能差的机器直接卡死被带走 image

描述所需要的功能

希望提供一个不生成图片,直接发送总结文字的选项

cj1357 commented 10 months ago

而且等了好一段时间,生成的总结图片也没有内容,看控制台打印是已经生成成功了总结信息的 image

cj1357 commented 10 months ago

原来生成总结图片失败是会直接发送文字的,请求做成一个开关,可以直接发送文字总结,小型服务器浏览器截图太耗性能了,生成图片要等很久而且基本上都是生成失败的体验很差 image

Well2333 commented 10 months ago

性能较差的机器请不要使用浏览器截图,在 .env 添加 bilichat_use_browser=False 即可禁用浏览器截图

禁用浏览器后渲染会使用 skia 进行总结绘图,此方案性能较优但观感并不好,因此在安装浏览器后不是默认选项

如果此方案还不行,我再考虑改逻辑

cj1357 commented 10 months ago

我试了一下 bilichat_use_browser=False 这个开关也会影响生成视频详情的图片样式,奇怪的是我这边用浏览器生成视频详情图片样式占用内存不高基本上都会成功,就只有最后生成总结图片这里会爆内存,改成用rich_text2image也是占用很高,也是我的服务器内存太少了吧🥺 最后我改了一下最后生成总结图片这里,直接返回字符串不生成图片了,速度超级快,纯文字不太好看不过我的服务器要正常用也只能这样了

nonebot-plugin-bilichat\nonebot_plugin_bilichat\summary\text_to_image.py image