我理解对话流的整个过程,我有一个有两个不同意图的工作部署机器人。当用户回答问题时,如何从机器人获得响应? (我将机器人设置为履行到我的域名)。使用rails 5 app并使用Heroku部署它。
谢谢!
答案 0 :(得分:0)
不完全熟悉Dilogflow,但如果您想在其他应用上发生操作时收到回复,这通常意味着您需要接收来自他们的网络挂钩
WebHook是一个HTTP回调:发生某些事情时发生的HTTP POST;通过HTTP POST进行简单的事件通知。实现WebHooks的Web应用程序会在发生某些事情时将消息发布到URL。
我建议您查看他们的fulfillment文档以获取示例。希望这会帮助你。
答案 1 :(得分:0)
如果您已经将jso文件的GOOGLE_APPLICATION_CREDENTIALS
路径设置了,现在就可以使用ruby脚本进行测试了。
chatbot.rb
project_id = "Your Google Cloud project ID" session_id = "mysession" texts = ["hello"] language_code = "en-US" require "google/cloud/dialogflow" session_client = Google::Cloud::Dialogflow::Sessions.new session = session_client.class.session_path project_id, session_id puts "Session path: #{session}" texts.each do |text| query_input = { text: { text: text, language_code: language_code } } response = session_client.detect_intent session, query_input query_result = response.query_result puts "Query text: #{query_result.query_text}" puts "Intent detected: #{query_result.intent.display_name}" puts "Intent confidence: #{query_result.intent_detection_confidence}" puts "Fulfillment text: #{query_result.fulfillment_text}\n" end
插入您的project_id。您可以在Dialogflow的代理上找到此信息。单击左侧菜单中“座席”名称右侧的齿轮。
在终端或任何用于运行ruby文件的工具中运行ruby文件。然后,您会看到该机器人回复您已发送的“ hello”消息。
obs:不要忘记安装google-cloud gem: