这一行代码没看懂:为什么把正常的 Print(transcript)放在 except 后面输出?

13 小时 1 分钟前
 lisisi

模型输出 audio 和 transcript:

audio_string = ""
for chunk in completion:
    if chunk.choices:
        if hasattr(chunk.choices[0].delta, "audio"):
            try:
                audio_string += chunk.choices[0].delta.audio["data"]
            except Exception as e:
                print(chunk.choices[0].delta.audio["transcript"])
    else:
        print(chunk.usage)

wav_bytes = base64.b64decode(audio_string)
audio_np = np.frombuffer(wav_bytes, dtype=np.int16)
sf.write("audio_assistant_py.wav", audio_np, samplerate=24000)

第 7 、8 行:为什么把 print(chunk.choices[0].delta.audio["transcript"]) 放在 Exception 后面输出?

563 次点击
所在节点    Python
3 条回复
lisisi
11 小时 53 分钟前
```
if "data" in chunk.choices[0].delta.audio:
audio_string += chunk.choices[0].delta.audio["data"]
elif "transcript" in chunk.choices[0].delta.audio:
print(chunk.choices[0].delta.audio["transcript"])
```
NoOneNoBody
11 小时 22 分钟前
except 内的 print 只是取代原有的出错信息,让代码可以继续运行,意义不大,有些人甚至只给个 pass
如果这段代码是别人写的,这个 print 只是随便打个断点信息,你可以改成你能理解的,或者输出到 log 方便以后查找
guanzhangzhang
11 小时 17 分钟前
可能是偷懒选择一个随便思考的解决方式

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1143714

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX