设置语音识别项目

借助 Google Distributed Cloud (GDC) 网闸隔离配置中的 Speech-to-Text,您可以在应用中将音频文件转录为文本。创建项目并请求开发者角色后,在 GDC 控制台中启用 Speech-to-Text API,以查看服务状态和端点。然后,您可以安装 Python 客户端库、定义环境变量,并使用 gdcloud CLI 配置服务账号和对请求进行身份验证。如果您刚开始接触 Vertex AI,请参阅了解语音识别功能。

创建项目

在 Distributed Cloud 资源层次结构中创建语音识别项目可整理您的 Speech-to-Text 资源,其中包括协作者、已启用的 API、监控工具、结算信息、身份验证凭证和访问权限控制。

如需创建项目,请参阅为 Vertex AI 设置项目。进行 API 调用时,您需要用到项目 ID。

请求开发者权限

您必须在项目中拥有 AI Speech Developer 角色,才能访问语音识别功能并生成用于请求身份验证和授权的 API 令牌。

请让您的 IAM 项目管理员向您项目命名空间内的用户或服务账号授予 AI Speech Developer (ai-speech-developer) 角色。如需了解此角色,请参阅准备 IAM 权限。

启用 Speech-to-Text API

您必须为项目启用 Speech-to-Text 预训练 API。如果已启用,您可以查看 Speech-to-Text 预训练 API 的服务状态和端点。

安装客户端库

客户端库支持 Python 编程语言。我们建议您使用这些客户端库来调用 Speech-to-Text API,因为它们可以更轻松地访问 API。

注意:请使用 venv 隔离 Python 环境

使用 venv 在虚拟环境中安装此库。此工具可帮助您创建隔离的 Python 环境,每个环境都能够托管不同版本的 Python 软件包。这种隔离可防止项目依赖项与其他项目或系统级安装的依赖项发生冲突。此外,使用 venv 可以在无需系统级权限的情况下安装库。

安装 Speech-to-Text 客户端库,并按照以下步骤操作,确保您使用的是正确的版本:

  1. 检查是否已安装 Speech-to-Text 客户端库并获取版本号:

    pip freeze | grep speech
    

    如果已安装客户端库,您将获得类似于以下示例的输出:

    google-cloud-speech==2.15.0
    

    您获取的版本号必须与以下端点处的客户端库匹配:

    https://GDC_URL/.well-known/static/client-libraries
    

    将 GDC_URL 替换为您的组织在 GDC 中的网址。

  2. 如果版本号不匹配,请卸载客户端库:

    pip uninstall google-cloud-speech
    
  3. 如果您卸载了 Speech-to-Text 客户端库,则必须通过指定与您的操作系统对应的文件名来重新安装。

设置环境变量

安装 Speech-to-Text 客户端库后,您可以通过 Python 脚本与 API 进行交互。

如果您在项目中设置了服务账号,以便以编程方式进行授权 API 调用,则可以在 Python 脚本中定义环境变量,以便在运行时访问服务账号密钥等值。

请按照以下步骤在 Python 脚本中设置所需的环境变量:

  1. 创建 JupyterLab 笔记本,以便与 Speech-to-Text 预训练 API 进行交互。

  2. 在 JupyterLab 笔记本上创建 Python 脚本。

  3. 将以下代码添加到 Python 脚本中:

    import os
    
    os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "APPLICATION_DEFAULT_CREDENTIALS_FILENAME"
    

    将 APPLICATION_DEFAULT_CREDENTIALS_FILENAME 替换为包含您在项目中创建的服务账号密钥的 JSON 文件的名称,例如 my-service-key.json。

  4. 将 Python 脚本保存为某个名称,例如 speech.py。

  5. 运行 Python 脚本以设置环境变量:

    python SCRIPT_NAME
    

    将 SCRIPT_NAME 替换为您为 Python 脚本指定的名称,例如 speech.py。

设置身份验证

在开始使用 Speech-to-Text API 之前,您必须对客户端凭据进行身份验证,并请求对项目资源的账号访问权限。如需了解详情,请参阅对 API 请求进行身份验证。