このドキュメントのコンテンツをエージェント タイプ タグでフィルタします。
このドキュメントのコンテンツをカテゴリタグでフィルタします。
API 呼び出しで権限が拒否される
カテゴリタグ: API、認証
問題
API 呼び出しに対して「PERMISSION_DENIED
」というレスポンスが返されました。
解決策
(会話エージェント(Dialogflow CX)、Dialogflow ES)認証とロールが正しく設定されていることを確認します。特に、次のことを行っていることを確認します。
- サービス アカウントを作成しており、誤って削除していない。
- 目的のメソッドを呼び出す権限を付与するロールをサービス アカウントに付与した。
- サービス アカウントの秘密鍵ファイルをダウンロードした。
GOOGLE_APPLICATION_CREDENTIALS
環境変数を秘密鍵ファイルに設定した。
API 呼び出しでの不明なプロジェクト
カテゴリタグ: API、プロジェクト
問題
API 呼び出しで Dialogflow API has not been used in project 32555940559
エラーが発生する。
解決策
次のことを行っていることを確認します。
GOOGLE_APPLICATION_CREDENTIALS
環境変数を設定した(PERMISSION_DENIED
を参照)。- API 呼び出しに正しいプロジェクト ID を指定した。
API 呼び出しで無効な認証情報エラーが表示される
カテゴリタグ: API、認証
問題
API 呼び出しに対して「Request had invalid authentication credentials.
Expected OAuth 2 access token, login cookie
or other valid authentication credential.
」というレスポンスが返されました。
解決策
これは、デフォルト以外のリージョンを指定するときに、クライアント ライブラリを使用して認証情報を手動で作成していることが原因かもしれません。次のいずれかをご覧ください。
API 呼び出しのレスポンスで別のホストへの切り替えがリクエストされる
カテゴリタグ: API、認証
問題
API 呼び出しに対して「Please switch to 'REGION-dialogflow.googleapis.com' to access resources
located in 'REGION'
」というレスポンスを受信しました。REGION
は特定のリージョン ID です。
解決策
これは、リクエストでリージョンを指定するが、エンドポイントでは指定しない場合に発生します。次のいずれかをご覧ください。
API 呼び出しレスポンスにフィールドがない
カテゴリタグ: API
問題
API レスポンスのフィールドが一部欠如しています。
解決策
API レスポンスの特定のフィールドに数値を想定する場合、戻り値が 0 であれば、フィールドはレスポンスに存在しない可能性があります。
デフォルト値の動作(数以外の値を含む)について詳しくは、以下をご覧ください。
リーエンが原因でプロジェクトを削除できない
カテゴリタグ: プロジェクト
問題
Google Cloud プロジェクトを削除しようとすると、そのプロジェクトにリーエンが設定されていてリーエンの 1 つが Dialogflow ES に関連付けられているため、プロジェクトを削除できないという内容の通知が表示されます。
解決策
プロジェクトに関連付けられている Dialogflow ES エージェントが不要になったことを確認してください。エージェントが存在しないという通知が表示された場合、エージェントが削除済みであることを意味します。
Dialogflow ES コンソール
https://dialogflow.cloud.google.com/#/agent/project-id/intents を開きます。
このリンクは、Google Cloud プロジェクトの削除ダイアログのリンクとは異なります。
Dialogflow API
agent
タイプのsearch
メソッドを使用します。リーエン名を取得します。
gcloud
プロジェクトに適用されているリーエンを一覧表示するのドキュメントで説明されている gcloud alpha resource-manager liens list コマンドを使用します。
API Explorer
[Method: liens.list] ページの [この API を試す] パネルを使用します。
- パラメータの説明で推奨されているように、
parent
フィールドに入力します。 - [実行] をクリックします。
- パラメータの説明で推奨されているように、
リーエンを削除します。
gcloud
プロジェクトからリーエンを削除するのドキュメントで説明されている gcloud alpha resource-manager liens delete LIEN_NAME コマンドを使用します。
API Explorer
[Method: liens.delete] ページの [この API を試す] パネルを使用します。
name
フィールドに、ステップ 2 で取得したリーエン名を入力します。- [実行] をクリックします。
プロジェクトをシャットダウンします。
Dialogflow CX Webhook が期限切れエラーで失敗する
カテゴリタグ: ランタイム
問題
Dialogflow CX から呼び出された Webhook が失敗し、次のエラー メッセージが表示されることがあります。
Webhook call failed. Error: DEADLINE_EXCEEDED
これは、Webhook 呼び出しが Webhook のタイムアウト上限を超えているために発生することがあります。Webhook 呼び出しがタイムアウト上限を超える理由は次のとおりです。
存在しないインテントをトリガーしようとしている。
Webhook バックエンド(Cloud Functions など)のコールド スタートに関する問題。
Webhook が他のサービスを呼び出して、応答時間が増加する。
エージェントと Webhook バックエンドの間に接続がない(ロードバランサの構成ミスなど)。
上り(内向き)トラフィックまたは Dialogflow メソッドの実行を妨げる組織のポリシー。
回避策
Webhook のデフォルトのタイムアウトは 5 秒に制限されています。 Webhook リソースを作成または編集するときに Webhook タイムアウトの上限を増やすと、Webhook が応答するまでの時間が長くなります。
コンソールでプロジェクトを設定できない
カテゴリタグ: Console、プロジェクト
問題
コンソールを使用してエージェントを作成すると、Failed to set up GCP project
エラーが発生する。
解決策
Google Cloud プロジェクトを作成する権限がない可能性があります。Google Cloud コンソール から直接 Google Cloud プロジェクトを作成できるかどうかを確認します。プロジェクトを作成できない場合は、エラー メッセージに記載されている推奨事項に従ってください。
レスポンスに表示されるセッション パラメータの参照
カテゴリタグ: コンソール
問題
Dialogflow から返されるレスポンスには、パラメータの値ではなく、パラメータ参照が含まれます。次に例を示します:
Hello, $session.params.customer_name
パラメータが現在のセッションで見つからない場合、またはパラメータがそのタイプに従って使用されていない場合、パラメータは解決されず、パラメータ参照が表示されます。
解決策
この問題は、使用しているパラメータが会話に含まれていない場合、タイプミスがある場合、または使用されているタイプと異なるタイプである場合に発生することがあります。
API が有効化されていないと、コンソールでのエージェント作成に失敗する
カテゴリタグ: コンソール
問題
コンソールを使用してエージェントを作成すると、Dialogflow API has not been enabled for the project. Code: FAILED_PRECONDITION
エラーが発生する。
解決策
設定手順に沿って Dialogflow API を有効にします。
組織アカウントからコンソールにアクセスしようとすると、サービスエラーが発生する
カテゴリタグ: コンソール
問題
組織アカウントからコンソールにアクセスしようとしたときに You don't have access to this service
エラーが発生する。
解決策
組織のシステム管理者に連絡し、組織の設定でコンソールにアクセスできることを確認してください。
組織の設定でアクセスを許可されていて、アカウントを別の組織から移行している場合は、ご使用のアカウントが Google によって制限されていると報告されている可能性があります。組織内の他のユーザーがコンソールにアクセスできるにもかかわらずアクセスできない場合は、これがおそらく問題になります。サポートにお問い合わせください。
フローがないためにエージェントを JSON 形式でエクスポートできない
カテゴリタグ: コンソール
問題
エージェントの未加工バイトとしてのエクスポートは正常に完了しますが、エージェントを JSON 形式でエクスポートすると、次のようなエラー メッセージが表示されて失敗します。
Flow 'projects/PROJECT_ID/locations/LOCATION_ID/agents/AGENT_ID/flows/FLOW_ID' does not exist in the agent
この問題は、削除されたフローを参照しているテストケースが原因で発生することがあります。
解決策
この問題を解決するには、未使用のテストケースを調べて、エラー メッセージで参照されているフローがあるテストケースで使用されているかどうかを確認します。確認済みのテストケースを削除します。
Phone Gateway の接続
カテゴリタグ: インテグレーション
問題
電話ゲートウェイを使用する場合に、ビジー信号を受信するか、通話が中断されます。
解決策
この機能には割り当てと制限があります。 ビジー信号を受信するか、通話が中断される場合、割り当てを超えている可能性があります。
Dialogflow CX Messenger のレスポンスがない
カテゴリタグ: 統合
問題
Dialogflow CX Messenger のインタラクションに対するエージェント レスポンスがありません。
解決策
Dialogflow CX Messenger からのレスポンスが表示されない場合は、プロジェクトで課金が有効になっていて、Dialogflow API が有効になっていることを確認します。設定手順をご覧ください。
エンティティの類義語ではないパラメータ値が一致した
カテゴリタグ: NLU
問題
一般的なケース: パラメータ値は、パラメータに対応するエンティティに類義語として一致する値がない場合でも、実行時に抽出されます。
より具体的なケース: 類義語がエンティティから削除され、エージェントが再トレーニングされた後でも、この類義語は引き続きエンティティのパラメータ値として抽出されます。
解決策
search オプションを使用して、一致する値が暗黙的なエンティティ(会話エージェント(Dialogflow CX)、Dialogflow ES)としてエージェントに存在するかどうかを確認します。このパラメータとエンティティがあるアノテーションを持つすべてのインテントを見つけます。
望ましくない値を表すテキストにこうしたアノテーションがいずれも適用されないように、アノテーションを修正します。
エージェントを実行時にテストして、問題が解決したかどうかを確認します。
問題が解決しない場合は、エンティティの詳細設定で [自動拡張] オプションと [あいまい照合] オプションがオフになっていることを確認して、エージェントをもう一度テストします。
音声 bot が一部のレスポンスをスキップする
カテゴリタグ: Text-to-Speech
問題
テキストと音声の両方用に設計されたエージェントで、音声 bot が一部の回答を読まない。
解決策
特定の会話ターンに対して少なくとも 1 つの出力音声テキストのレスポンスが定義されている場合は、この会話ターンのすべてのステップで、出力音声テキスト オプションがエージェントのフルフィルメントと Webhook のレスポンスよりも一貫して存在することを確認します。
SSML タグが機能しない
カテゴリタグ: Text-to-Speech
問題
SSML タグはエージェント フルフィルメントで定義されるが、音声 bot は SSML 効果なしで合成されたテキストを読み取る。
解決策
Dialogflow コンソールのレスポンス カードごとに、または API や Webhook を介してレスポンスが提供される場合はレスポンス メッセージ オブジェクトごとに、1 つの <speak></speak>
ペアのみが存在するようにします。
音声エージェントがゼロを文字 O と発音
カテゴリタグ: Text-to-Speech
問題
音声用に設計されたエージェントの場合、音声エージェントはゼロをゼロではなく文字 O として読み上げます。
解決策
- 出力音声テキスト ダイアログ オプションを使用するようにエージェントの発話を変更します。
- [SSML] チェックボックスをオンにします。
- テキストを SSML タグで囲みます。
<speak> <say-as interpret-as='verbatim'>YOUR_TEXT</say-as> </speak>
- 保存] をクリックします。
たとえば、クレジット カード番号のゼロは、0 とスペルされます。
<speak> <say-as interpret-as='verbatim'>5177 7702 8500 4578</say-as> </speak>
予期しない合成発音
カテゴリタグ: Text-to-Speech
問題
エージェントのレスポンスで合成された発音(固有名詞、略語など)が、想定どおりではありません。
解決策
一般的ではない単語に対して特定の発音を保証するには、エージェント レスポンスで SSML の say-as または phoneme タグを使用します。
ステートマシンの許容される最大実行ステップ数に達しました
カテゴリタグ: ランタイム
問題
エージェントにランタイム リクエストを送信したときに、会話エージェント(Dialogflow CX)コンソールまたはログに次のエラー メッセージが表示される。
You have reached the maximum allowed state machine execution steps. You may consider simplifying your agent/flow design. Current execution steps are: [<array_of_objects>]
エラー メッセージの配列には、リクエストの実行ステップのリストが含まれています。ステップ数が多すぎると、リストが不完全になることがあります。
解決策
このエラー メッセージは通常、1 回の会話ターンの移行回数が大きすぎることを示します。よくある例としては、同じページに遷移し、無限ループが発生します。
この問題を解決するには:
- エラー メッセージから JSON 配列をコピーします。
- (省略可)読みやすくするために、コピーした配列を Pretty JSON 形式にします。エラー メッセージが切り捨てられた場合は、最後の「Step」オブジェクトを検索し、不完全なステップ オブジェクトとその前のカンマを削除し、JSON の検証と絞り込みの前に閉じられた配列かっこを追加します。
- 各ステップの
"TriggeredTransitionRouteId"
と"TargetPage"
の値を確認します。無限ループの場合、"TriggeredTransitionRouteId"
フィールドと"TargetPage"
フィールドにほとんどのステップの値が繰り返し入っています。 - エージェントの設計を変更して、無限ループの移行を削除するか、1 回の会話ターンの移行の回数を減らします。
正規表現の一致範囲が広すぎる
カテゴリタグ: 正規表現
問題
正規表現エンティティ(会話エージェント(Dialogflow CX)、Dialogflow ES)の作成時にエラー Regular expression match is too broad
が返されました。
解決策
次のアプローチを検討してください。
- 正規表現で
^
と$
を使用して、テキストの先頭と末尾をそれぞれ指定します。 - 必須パラメータ(会話エージェント(Dialogflow CX)、Dialogflow ES)を含む正規表現エンティティを使用します。
- 必須パラメータのプロンプトを定義し、単語を前後に配置することなくエンティティ値のみを指定するようエンドユーザーに要求します。
音声認識によって挿入された望ましくない英数字以外の文字
カテゴリタグ: Speech-to-Text
問題
英数字を照合しようとすると、望ましくない英数字以外の文字(スペース、ダッシュなど)が音声認識機能によって挿入されるため、エンティティが一致しません。
解決策
- 数字の照合にシステム エンティティを使用する場合は、代わりに正規表現エンティティ(会話エージェント(Dialogflow CX)、Dialogflow ES)の使用を検討してください。
- 正規表現エンティティによる不正確な英数字の音声認識のセクションの推奨事項にすべて従ってください。
- テレフォニー統合で数字を照合する場合は、音声認識に加えて DTMF オプションを検討してください。
音声入力の空の文字起こし
カテゴリタグ: Speech-to-Text
問題
音声入力の Dialogflow レスポンスは、空の文字起こしを返します。 リクエストは、入力なしまたは一致なしとして処理されます。
解決策
音声録音を聞き、音声が含まれていることを確認します。
エージェントの設定(会話エージェント(Dialogflow CX)、Dialogflow ES)で音声適応が有効になっていることを確認します。
音声適応を有効にしても効果がない場合は、非本番環境の設定で次の音声モデルを試し、最良の結果をレンダリングするモデルを使用してください。
latest_short
phone_call
command_and_search
英語以外の言語については、Speech-to-Text でサポートされている言語のドキュメントでサポートされている音声モデルを確認してください。
音声モデルの指定方法は、Dialogflow とのやり取りの設定方法によって異なります。
API リクエストの場合は、
InputAudioConfig
のmodel
フィールドにモデル名を指定します(会話エージェント(Dialogflow CX)、Dialogflow ES)。Phone Gateway(会話エージェント(Dialogflow CX)、Dialogflow ES)を使用している場合は、統合を有効にしたときに Dialoflow によって作成された会話プロファイルで音声モデルを更新できます。
会話プロファイル ID を取得します。
conversationProfiles.list
メソッドを使用して、プロジェクトにリンクされているすべての会話プロファイルを取得します。- 更新する会話プロファイルを見つけて、
name
フィールドの値をコピーします。
Dialogflow CX Phone Gateway の場合、会話プロファイルの表示名はインテグレーション設定で確認できます。Dialogflow ES Phone Gateway の場合、会話プロファイルの表示名は、インテグレーションを有効にしたエージェント名に対応します。
同じ表示名の会話プロファイルが複数ある場合は、
conversationProfiles.list
メソッドのレスポンスからautomatedAgentConfig
フィールドのエージェント ID を確認します。conversationProfiles.patch
API メソッドを使用して、SpeechToTextConfig
のmodel
フィールドを更新します。
Contact Center AI の統合の場合は、統合または個々のリクエスト用に音声モデルを更新する方法について、テレフォニー インテグレータに確認してください。
エージェント バージョンの比較時に「ファイルのサイズが 2 MB を超えています」というエラーが表示された空白画面
カテゴリタグ: コンソール
問題
2 つの異なるエージェント バージョンを比較しようとすると、画面が空白になり、次のエラー メッセージが表示されます。
File size exceeds 2MB
この問題は、いずれかのファイルのサイズが 2 MB を超えていることが原因です。
解決策
いずれかのファイルのサイズが 2 MB を超えるエージェント バージョンを比較するには、API メソッド compareVersion を使用することをおすすめします。
正規表現エンティティによる不正確な英数字の音声認識
カテゴリタグ: Speech-to-Text、正規表現
問題
正規表現エンティティ(会話エージェント(Dialogflow CX)、Dialogflow ES)と一致するよう設計された英数字の音声入力について、不正確な文字起こしが返されました。
解決策
- エージェントの設定(会話エージェント(Dialogflow CX)、Dialogflow ES)で音声適応が有効になっていることを確認します。
- 1 つ以上のエンティティ エントリが、正規表現のエントリ要件(会話エージェント(Dialogflow CX)、Dialogflow ES)をすべて満たしていることを確認します。
- 特定のパターンの場合は、最も具体的な正規表現を使用します。たとえば、先頭が 2 文字で、その後に 5 桁の数字が続く英数字の場合は、
[a-zA-Z0-9]{7}
ではなく[a-zA-Z]{2}\d{5}
を使用します。 - 正規表現エンティティで、音声認識機能によって挿入される可能性のある英数字以外の文字(スペース、ダッシュなど)の一致が考慮されていることを確認します。このリストの 2 番目の要件を満たすには、複数のエンティティ エントリを作成します。1 つはこのリストの 2 番目の要件を満たすエントリ、もう 1 つは英数字以外の文字のエントリを考慮します。たとえば、5 桁の数字に一致し、英数字以外の文字を許可するには、次のようにします。
\d{5}
(\d[^a-zA-Z0-9]*){5}
- エージェントがパラメータ定義要件(会話エージェント(Dialogflow CX)、Dialogflow ES)を満たしていることを確認します。
会話エージェント(Dialogflow CX)の例
Dialogflow ES の例
- エージェントがトレーニング フレーズのアノテーション要件(会話エージェント(Dialogflow CX)、Dialogflow ES)を満たしていることを確認します。
Dialogflow ES の例
- テストがテスト ガイドライン(会話エージェント(Dialogflow CX)、Dialogflow ES)に準拠していることを確認します。
- 音声認識機能によって挿入された可能性のある英数字以外の文字を削除するには、次を使用します。
- 会話エージェント(Dialogflow CX)の場合: SUBSTITUTE システム関数または webhook
- Dialogflow ES の場合: Webhook
- 音声適応の制限事項(会話エージェント(Dialogflow CX)、Dialogflow ES)を確認します。