快速入门:设置

本指南介绍了开始使用 Dialogflow 所需的所有设置步骤。

准备工作

在阅读本指南之前,请先完成以下事项:

  1. 阅读 Dialogflow 基础知识
  2. 阅读版本

Google Cloud Console 简介

Google Cloud Console(访问文档打开控制台)是一个网页界面,用于预配、配置、管理和监控使用 Google Cloud 产品的系统。您可以用 Google Cloud Console 设置和管理 Dialogflow 资源。

创建项目

如需使用 Google Cloud 提供的服务,您必须创建一个项目。项目用于组织您的所有 Google Cloud 资源。 项目由一组协作者、已启用的 API(和其他资源)、监控工具、结算信息以及身份验证和访问权限控制组成。您可以创建一个项目,也可以创建多个项目,并使用这些项目按资源层次结构组织 Google Cloud 资源。创建项目时,请记下项目 ID。您需要此 ID 才能进行 API 调用。 如需详细了解项目,请参阅 Resource Manager 文档

当您创建代理时,Dialogflow 控制台(访问文档打开控制台)可以为您创建一个基本项目。如果您计划将项目用于不只是对免费版的基本访问权限,或者您计划使用 API,请按照以下说明使用 Google Cloud Console 创建项目。

我们建议您分别创建用于实验、测试和生产的项目。每个项目只能创建一个 Dialogflow 代理。如果您需要多个代理,则需要创建多个项目。

在 Google Cloud Console 的项目选择器页面上,选择或创建一个 Google Cloud 项目。

转到项目选择器页面

启用结算功能

结算帐号用于定义一组给定资源的付款方,并且可以关联到一个或多个项目。 项目的使用费将计入关联的结算帐号名下。 在大多数情况下,您在创建项目时配置结算。 如需了解详情,请参阅结算文档

确保您的 Cloud 项目已启用结算功能。 了解如何确认您的项目是否已启用结算功能

启用 API

您必须为项目启用 Dialogflow API。 如需详细了解如何启用 API,请参阅 Service Usage 文档

启用 Dialogflow API。

启用 API

设置身份验证

如果您计划使用 Dialogflow API,则需要设置身份验证。任何使用 API 的客户端应用都必须经过身份验证,并且拥有所请求资源的访问权限。本部分介绍重要的身份验证概念及其设置步骤。如需了解详情,请参阅 Google Cloud 身份验证概览

服务帐号简介

身份验证有多种可选方式,但建议您使用服务帐号执行身份验证和访问权限控制。服务帐号为应用而非最终用户提供凭据。服务帐号由项目拥有,您可以为一个项目创建多个服务帐号。 如需了解详情,请参阅了解服务帐号

角色简介

当身份调用 API 时,Google Cloud 要求该身份具有适当的权限。您可以向服务帐号分配角色来授予权限。 如需了解详情,请参阅身份和访问权限管理 (IAM) 文档

如需试用 Dialogflow API,您可以在以下步骤中使用 项目 > Owner 角色,这将为服务帐号授予对项目的完整访问权限。如需详细了解 Dialogflow 的特定角色,请参阅 Dialogflow 访问权限控制文档

服务帐号密钥简介

服务帐号与一个或多个公钥/私钥对相关联。 创建新密钥对时,您需要下载私钥。私钥用于在调用 API 时生成凭据。 您需要负责确保私钥和其他管理操作(如密钥轮替)的安全性。

创建服务帐号并下载私钥文件

设置身份验证:

  1. 在 Cloud Console 中,转到创建服务帐号密钥页面。

    转到“创建服务帐号密钥”页面
  2. 服务帐号列表中,选择新的服务帐号
  3. 服务帐号名称字段中,输入一个名称。
  4. 角色列表中,选择 Project > Owner

  5. 点击创建。包含密钥的 JSON 文件就会下载到计算机。

在您的环境中使用服务帐号密钥文件

通过设置环境变量 GOOGLE_APPLICATION_CREDENTIALS 向应用代码提供身份验证凭据。 将 [PATH] 替换为包含您的服务帐号密钥的 JSON 文件的路径。此变量仅适用于当前的 Shell 会话,因此,如果您打开新的会话,请重新设置该变量。

Linux 或 macOS

export GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

例如:

export GOOGLE_APPLICATION_CREDENTIALS="/home/user/Downloads/my-key.json"

Windows

使用 PowerShell:

$env:GOOGLE_APPLICATION_CREDENTIALS="[PATH]"

例如:

$env:GOOGLE_APPLICATION_CREDENTIALS="C:\Users\username\Downloads\my-key.json"

使用命令提示符:

set GOOGLE_APPLICATION_CREDENTIALS=[PATH]

安装并初始化 Cloud SDK

如果您计划使用 Dialogflow API,则需要安装并初始化 Cloud SDK。Cloud SDK 是一组工具,可用于管理 Google Cloud 上托管的资源和应用。其中包括 gcloud 命令行工具。

以下链接提供了相关说明:

安装并初始化 Cloud SDK

测试 SDK 和身份验证

如果您在前面的步骤中设置了身份验证,则可以使用“gcloud”工具测试您的身份验证环境。执行以下命令,确认没有错误发生并且返回了凭据:

gcloud auth application-default print-access-token

所有 Dialogflow 命令行 REST 示例都会使用该命令对 API 调用进行身份验证。

安装 Dialogflow 客户端库

您可以通过以下三种方式调用 API:Google 支持的客户端库、REST 和 gRPC。客户端库支持多种主流语言,建议您使用这些客户端库。如需安装客户端库,请执行以下操作:

C#

安装 NuGet 提供的 Google.Cloud.Dialogflow.V2 软件包。以常规方式将它添加到您的项目中(例如,在 Visual Studio 中右键点击项目并选择“Manage NuGet Packages...”)。确保启用了预发布版软件包(例如,在 Visual Studio NuGet 界面中,选中“Include prerelease”复选框)。

或者,您也可以使用 NuGet 命令行界面:

nuget install Google.Cloud.Dialogflow.V2 -PreRelease

Go

go get cloud.google.com/go/dialogflow/apiv2

Java

如果您使用的是 Maven,请将以下代码添加到您的 pom.xml 文件中。如需详细了解 BOM,请参阅 Google Cloud Platform 库 BOM

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>libraries-bom</artifactId>
      <version>16.1.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>google-cloud-dialogflow</artifactId>
  </dependency>

如果您使用的是 Gradle,请将以下代码添加到您的依赖项中:

compile 'com.google.cloud:google-cloud-dialogflow:2.4.2'

如果您使用的是 sbt,请将以下代码添加到您的依赖项中:

libraryDependencies += "com.google.cloud" % "google-cloud-dialogflow" % "2.4.2"

如果您使用的是 IntelliJ 或 Eclipse,请通过以下 IDE 插件将客户端库添加到您的项目中:

上述插件还提供其他功能,例如服务帐号密钥管理。如需了解详情,请参阅各个插件相应的文档。

Node.js

npm install dialogflow

PHP

  1. 安装适用于 PHP 的首选依赖项管理器 Composer
  2. 安装 Google Cloud 客户端库的 Dialogflow 组件:
    composer require google/cloud-dialogflow
  3. 该组件支持 REST over HTTP/1.1 和 gRPC。为了充分利用 gRPC 提供的优势(如流式传输方法),请按照 gRPC 安装指南中的说明操作。

Python

pip install dialogflow

Ruby

gem install google-cloud-dialogflow