Ikaros-521 / AI-Vtuber

AI Vtuber是一个由 【ChatterBot/ChatGPT/claude/langchain/chatglm/text-gen-webui/闻达/千问/kimi/ollama】 驱动的虚拟主播【Live2D/UE/xuniren】,可以在 【Bilibili/抖音/快手/微信视频号/拼多多/斗鱼/YouTube/twitch/TikTok】 直播中与观众实时互动 或 直接在本地进行聊天。它使用TTS技术【edge-tts/VITS/elevenlabs/bark/bert-vits2/睿声】生成回答并可以选择【so-vits-svc/DDSP-SVC】变声;指令协同SD画图。
https://ikaros-521.github.io/Luna-Docs/site/
GNU General Public License v3.0
2.91k stars 445 forks source link

🐛 Bug: SiliconCloud OpenAI接口流式不兼容 #978

Closed geekane closed 1 month ago

geekane commented 1 month ago

操作系统

Windows

Python 版本

3.10.11

AI Vtuber 版本

20240823

描述问题

我使用的是SiliconCloud的api,验证是通过的,在其他版本(0723)上也是可以在聊天页面中正常出现语音对话,但是在0823版本中却不行了,关键部分错误如下: 2024-08-23 23:13:21.829 | WARNING | utils.my_handle:comment_handle:2811 - 使用流式推理LLM 2024-08-23 23:13:22.826 | ERROR | utils.my_handle:llm_stream_handle_and_audio_synthesis:1773 - Traceback (most recent call last): File "E:\AIVtuber\utils\my_handle.py", line 1640, in llm_stream_handle_and_audio_synthesis tmp += chunk.choices[0].delta.content TypeError: can only concatenate str (not "NoneType") to str

2024-08-23 23:13:28.312 | INFO | utils.audio:my_play_voice:1273 - edge-tts合成成功,合成内容:【主人说:你好】,输出 到=E:\AIVtuber\out\edge_tts_6.mp3 2024-08-23 23:13:28.317 | INFO | utils.audio:data_priority_insert:573 - 待播放音频列表 优先级: 20 音频=E:\AIVtuber\out\edge_tts_6.mp3 2024-08-23 23:13:30.965 | INFO | main:callback:228 - API收到数据:{'type': 'audio_playback_completed', 'data': {'wait_play_audio_num': 0, 'wait_synthesis_msg_num': 0}} INFO: 127.0.0.1:59445 - "POST /callback HTTP/1.1" 200 OK

复现步骤

1.正常下载解压 2.双击启动 3.填写api验证正常 4.聊天界面进行对话

期望的结果

大语言模型应该能正常得出结果

截图或日志

image image

Ikaros-521 commented 1 month ago

操作系统

Windows

Python 版本

3.10.11

AI Vtuber 版本

20240823

描述问题

我使用的是SiliconCloud的api,验证是通过的,在其他版本(0723)上也是可以在聊天页面中正常出现语音对话,但是在0823版本中却不行了,关键部分错误如下: 2024-08-23 23:13:21.829 | WARNING | utils.my_handle:comment_handle:2811 - 使用流式推理LLM 2024-08-23 23:13:22.826 | ERROR | utils.my_handle:llm_stream_handle_and_audio_synthesis:1773 - Traceback (most recent call last): File "E:\AIVtuber\utils\my_handle.py", line 1640, in llm_stream_handle_and_audio_synthesis tmp += chunk.choices[0].delta.content TypeError: can only concatenate str (not "NoneType") to str

2024-08-23 23:13:28.312 | INFO | utils.audio:my_play_voice:1273 - edge-tts合成成功,合成内容:【主人说:你好】,输出 到=E:\AIVtuber\out\edge_tts_6.mp3 2024-08-23 23:13:28.317 | INFO | utils.audio:data_priority_insert:573 - 待播放音频列表 优先级: 20 音频=E:\AIVtuber\out\edge_tts_6.mp3 2024-08-23 23:13:30.965 | INFO | main:callback:228 - API收到数据:{'type': 'audio_playback_completed', 'data': {'wait_play_audio_num': 0, 'wait_synthesis_msg_num': 0}} INFO: 127.0.0.1:59445 - "POST /callback HTTP/1.1" 200 OK

复现步骤

1.正常下载解压 2.双击启动 3.填写api验证正常 4.聊天界面进行对话

期望的结果

大语言模型应该能正常得出结果

截图或日志

image image

关闭流式输出

Ikaros-521 commented 1 month ago

新版本已经对 测试检验做了加强逻辑,测试不通过时可以看到详细错误信息,

Ikaros-521 commented 1 month ago

流式确实不兼容,关了就行了

geekane commented 1 month ago

流式确实不兼容,关了就行了 好的感谢讲解