2017-12-01 2 views
2

私のDialog Flowエージェントでは、エンティティ@cityがあります。可能な値はNew York,Berlinですが、Amsterdamはそのリストにありません。ダイアログフローで許可されたエンティティ値を動的に検証します

SQLデータベースの値に対してエンティティ値を動的に検証する方法はありますか?たとえば、ユーザーがAmsterdamと書いた場合、ユーザーに別の都市を尋ねるヒントを与えたいと考えています。 Webhook経由でこれを行うことはできますか?

または、データベースの都市とエージェントを定期的に同期する必要がありますか?もしそうなら、これはAPIを介して行うことができますか?

私はこの標準的な方法が何であるか分かりません。

答えて

2

ここでは、最適な方法に応じていくつかのオプションがあります。

最も単純なケースでは、パラメータエンティティタイプを@sys.anyに設定し、Webフック内のすべての名前解決を処理できます。これは最悪のシナリオです。

これまでのように、独自のエンティティタイプ@cityを作成して、それをいくつかの都市に移入することができます。データベースの都市を設定する場合は、で、エンティティの作成と変更を可能にするAPI(古い名前はAPI.AI)です。詳細は、https://dialogflow.com/docs/reference/agent/entitiesのドキュメントを参照してください。

しかし、最高の場合でも、2つの組み合わせがあります。 @cityを使用するインテントと、理解していないことを示すケースを処理する@sys.any(またはフォールバックインテント)を使用する別の優先度の低いインテントがあります。

+0

興味深い!私は、APIを介してエンティティ値を移入することで実験します。 –

+1

それは素晴らしい作品です!ありがとうございました! –

関連する問題