You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从google.cloud.speech_v1导入enums失败,请求技术排查

解决Google Cloud Speech-to-Text API的enums导入错误

你的问题出在新版本的Google Cloud Speech-to-Text v1客户端库已经不再单独导出enums模块,原来的枚举类型已经被整合到对应的配置类中,不需要再单独导入enums。

修正步骤

  1. 删掉所有和enums导入相关的代码:
    • 移除from google.cloud.speech_v1 import enums
    • 移除enums = importlib.import_module("google.cloud.speech_v1.enums")这行
  2. 修改RecognitionConfig里的encoding参数,有两种可行方式:

方法一:直接使用类内置的枚举

直接通过speech_v1.RecognitionConfig.AudioEncoding访问枚举值,代码如下:

from google.cloud import speech_v1
import os

# 设置Google Cloud服务账号凭据
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "creds.json"

# 创建Speech-to-Text客户端
stt_client = speech_v1.SpeechClient()

# 音频转写请求
response = stt_client.recognize(
  audio=speech_v1.types.RecognitionAudio(uri="gs://focus-0/speech-to-text-sample.wav"),
  config=speech_v1.types.RecognitionConfig(
    encoding=speech_v1.RecognitionConfig.AudioEncoding.FLAC,
    sample_rate_hertz=48000,
    language_code="en-US"
  )
)

# 输出转写结果
for result in response.results:
  print("Transcription: {}".format(result.alternatives[0].transcript))

方法二:直接使用字符串常量

API支持直接传入枚举对应的字符串值,代码更简洁:

from google.cloud import speech_v1
import os

# 设置Google Cloud服务账号凭据
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "creds.json"

# 创建Speech-to-Text客户端
stt_client = speech_v1.SpeechClient()

# 音频转写请求
response = stt_client.recognize(
  audio=speech_v1.types.RecognitionAudio(uri="gs://focus-0/speech-to-text-sample.wav"),
  config=speech_v1.types.RecognitionConfig(
    encoding="FLAC",
    sample_rate_hertz=48000,
    language_code="en-US"
  )
)

# 输出转写结果
for result in response.results:
  print("Transcription: {}".format(result.alternatives[0].transcript))

补充说明

Google Cloud的Python客户端库在版本迭代中,逐步将枚举类型从单独的enums模块迁移到了对应的服务类内部,这样更符合Python的类设计规范,也避免了模块导入混乱。你之前的导入方式是旧版本库的用法,现在已经不再适用。

内容的提问来源于stack exchange,提问作者reallymemorable

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.10 00:31:16