QwenLM / Qwen2-Audio

The official repo of Qwen2-Audio chat & pretrained large audio language model proposed by Alibaba Cloud.
1.17k stars 75 forks source link

首次输入文字,不录制语音的情况下报错。IndexError: list index out of range #22

Open linxianzhong0128 opened 2 months ago

linxianzhong0128 commented 2 months ago

chatbot=[[MultimodalMessage(id=None, elem_id=None, elem_classes=None, name=None, text='hello', flushing=None, avatar='', files=[]), None]] text='<|im_start|>system\nYou are a helpful assistant.<|im_end|>\n<|im_start|>user\nhello<|im_end|>\n<|im_start|>assistant\n' It is strongly recommended to pass the sampling_rate argument to this function. Failing to do so can result in silent errors that might be hard to debug. Traceback (most recent call last): File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/gradio/queueing.py", line 528, in process_events response = await route_utils.call_process_api( File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/gradio/route_utils.py", line 270, in call_process_api output = await app.get_blocks().process_api( File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/gradio/blocks.py", line 1908, in process_api result = await self.call_function( File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/gradio/blocks.py", line 1485, in call_function prediction = await anyio.to_thread.run_sync( File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/anyio/to_thread.py", line 56, in run_sync return await get_async_backend().run_sync_in_worker_thread( File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 2177, in run_sync_in_worker_thread return await future File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 859, in run result = context.run(func, args) File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/gradio/utils.py", line 808, in wrapper response = f(args, **kwargs) File "demo/web_demo_audio.py", line 85, in predict inputs = processor(text=text, audios=audios, return_tensors="pt", padding=True) File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/transformers/models/qwen2_audio/processing_qwen2_audio.py", line 94, in call audio_inputs = self.feature_extractor( File "/root/miniconda3/envs/audio-v1/lib/python3.8/site-packages/transformers/models/whisper/feature_extraction_whisper.py", line 264, in call isinstance(raw_speech, (list, tuple)) and (isinstance(raw_speech[0], (np.ndarray, tuple, list))) IndexError: list index out of range

faychu commented 2 months ago

感谢关注,刚更新了代码,您可以再试下

LqNoob commented 2 months ago

对 README.md 中 “Voice Chat Inference”、“Audio Analysis Inference” 部分的代码做推理运行时,还是会出现同样的问题; 报错问题来源于 “transformers/models/qwen2_audio/processing_qwen2_audio.py” 的 “if audios is not None:” 代码。

faychu commented 2 months ago

@LqNoob 如果conversation中没有输入audios,请将audios置为None,不支持空的list

LqNoob commented 2 months ago

@LqNoob 如果conversation中没有输入audios,请将audios置为None,不支持空的list

Thank you for your response.