[Dialogflow ES] Python APIからのリージョン選択

88 views
Skip to first unread message

Takuma Miyazaki

unread,
Dec 4, 2020, 7:17:19 AM12/4/20
to Assistant Developer Community Japan
こんにちは
Dialogflow ESで、デフォルトのUSサーバでなくAS-NE1(asia-northeast1, 東京)上に作成したエージェントにPythonから会話リクエストを投げたいです。
USサーバ上に作成したエージェントとPython APIを用いてやり取りすることには成功しました。(こちらを参考にしました)

新しいGOOGLE PROJECTを作成し、AS-NE1上に立ち上げたエージェントにProject IDを関連付けさせ、同様のコードでエージェントとやり取りしようと試みたのですが、 No DesignTimeAgent found for project 'project-name'.とエラーを吐かれました。
こちらのページを参考にした感じ、リクエストの際にリージョンを指定する必要があるとのことですが、リージョンの指定方法がわかりません。  

公式ドキュメントを参照したところ、現在v2beta1 APIバージョンのみ、リージョンの選択に対応しているようなのですが、Pythonのv2beta1ライブラリを見た感じ、Locationの指定方法が見つからないのですが、どのように指定するべきなのでしょうか。

よろしくおねがいします。

Yui Takeuchi

unread,
Dec 8, 2020, 1:48:43 AM12/8/20
to Assistant Developer Community Japan
こんにちは、私の方でも試してみたのですが、以下の方法で asia-northeast1 にリクエストすることができました。

まず、リージョンの指定方法ですが、こちらを見ると
- API host を [location]-dialogflow.googleapis.com にする
- API url path に location を含める (projects/<Project ID>/locations/<Location ID>/agent/sessions/<Session ID>) 
上記の2点が必要そうでした。

そして、python dialogflow_v2beta1 ライブラリを見ると API host は client_options で指定することができました。
しかし、API url path は location を指定する method がなかったので、project_id に <Project ID>/locations/<Location ID> を渡すようにしました。

---
    session_client = dialogflow.SessionsClient(client_options={'api_endpoint':'asia-northeast1-dialogflow.googleapis.com:443'})
    project_id = '<Project ID>/locations/asia-northeast1'
    session = session_client.session_path(project_id, session_id)
---

project_id に location のパスを無理くり付与するのは確実に正しいやり方ではないので、ライブラリがアップデートされるまでのワークアラウンドとしていただければ・・・・と思いました。
まさに v2beta1への PullRequest チャンスだと思います!

ご参考になれば幸いです。

otter - Yui Takeuchi

Yui Takeuchi

unread,
Dec 8, 2020, 3:25:57 AM12/8/20
to Assistant Developer Community Japan
マージしてもらえるか分かりませんが、一応 PullRequest も出しておきました。

otter - Yui Takeuchi


--
このメールは Google グループのグループ「Assistant Developer Community Japan」に登録しているユーザーに送られています。
このグループから退会し、グループからのメールの配信を停止するには assistant-developer-com...@googlegroups.com にメールを送信してください。
このディスカッションをウェブ上で閲覧するには https://groups.google.com/d/msgid/assistant-developer-community-japan/37cf8f56-b233-4917-99fc-2e252cc62a92n%40googlegroups.com にアクセスしてください。

Takuma Miyazaki

unread,
Dec 9, 2020, 12:19:42 AM12/9/20
to Assistant Developer Community Japan
Yuiさん  、こんにちは
こちらの手元でも動かしてみたところ、うまくいきました!
ご回答ありがとうございます。

また、早急なPullRequest対応ありがとうございます、マージされると嬉しいですね!
ありがとうございました。
2020年12月8日火曜日 17:25:57 UTC+9 yui520...@gmail.com:
Reply all
Reply to author
Forward
0 new messages