gpt4 book ai didi

python - json.dumps 值错误 : Extra data unable to dump json outputs

转载 作者:太空宇宙 更新时间:2023-11-03 15:49:40 24 4
gpt4 key购买 nike

我正在尝试使用语音发送文本 watson api,但是当我设置 interim_results = True 时,我收到了值错误。请帮助我:)

with open(join(dirname(__file__), './audio-file.wav'), 'rb') as audio_file:
print(json.dumps(speech_to_text.recognize(
audio_file, content_type='audio/wav', timestamps=True, interim_results =True, word_confidence=True), indent=2))

错误输出:

The error output

但是,当我设置 interim_results = False 时,我得到了正常工作的输出。

interim_results = False时的输出:

The output when the interim_results=False

我认为原因与多个 json 输出有关,但我不知道如何解决它,因为这是 json.dumps:) 所以我无法引用 json.loads 值错误案例来解决这种情况。

最佳答案

使用 interim_results=true 时,服务会发回多个 JSON blob,并期望您在它们到达时单独解析它们。例如,如果您想要显示近乎实时的转录,这非常有用。

如果您只是进行一次性转录并且不需要近乎实时地显示文本,我建议将 interim_results 设置为 false。

您可以将结果拆分为 }\s*{(其中一个 JSON blob 结束,下一个开始),然后将每个单独的 block 解析为 JSON (如有必要,恢复 }{ ),但它不会真正给你带来任何好处,因为完整的最终结果已经在那里了。

或者,如果您确实需要/想要近乎实时的更新,WebSocket 接口(interface)可以让这变得更容易一些,因为每个 JSON block 都以它自己的消息形式到达 - 请查看 https://github.com/watson-developer-cloud/speech-to-text-websockets-python举个例子。

关于python - json.dumps 值错误 : Extra data unable to dump json outputs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41421752/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com