Есть ли способ получить историю разговоров в диалоге? - PullRequest
1 голос
/ 27 марта 2019

Есть ли способ получить полный диалог между пользователем и агентом.Очень похоже на то, что я получаю, нажимая на тег истории, но программно.Смысл в том, чтобы сохранить взаимодействие между пользователем и агентом в виде текста.

Спасибо, ребята, в продвинутом!

1 Ответ

1 голос
/ 27 марта 2019

Нет API для прямого извлечения истории из Dialogflow. Но вы можете включить ведение журнала.

Agent Settings > General > Log Settings > Log interactions to Google Cloud

И все взаимодействия будут регистрироваться в Google Stackdriver, у которого есть API, с помощью которого вы сможете получить все журналы и, следовательно, историю чата.

https://cloud.google.com/logging/docs/reference/v2/rest/

Вот как журналы хранятся в Stackdriver

{
  insertId: "19ignahfzlu2o7"
  labels: {
    protocol: "V2BETA1"
    request_id: "3033c2e3-7cab-4a00-b2b7-207be8d22366"
    type: "dialogflow_request"
  }
  logName: "projects/dialogflowproject-ca57b/logs/dialogflow_agent"
  receiveTimestamp: "2019-03-27T12:44:42.547531753Z"
  resource: {
    labels: {
      project_id: "dialogflowproject-ca57b"
    }
    type: "global"
  }
  severity: "INFO"
  textPayload: "Dialogflow gRPC Request : session: projects / dialogflowproject - ca57b / agent / sessions / 53 d451c1 - 40 f5 - c00e - cbbd - 178e ff32b971 "
  query_params {
    time_zone: "America/Buenos_Aires"
  }
  query_input {
    text {
      text: "hi"
      language_code: "en"
    }
  }
  "  
  timestamp: "2019-03-27T12:44:42.420Z"
  trace: "53d451c1-40f5-c00e-cbbd-178eff32b971"
}

Затем вы можете получить сессию и построить всю историю чата.


Другой альтернативой является сохранение взаимодействий в базе данных, когда они происходят, если сообщения сначала проходят через ваш сервер, что может быть не вашим случаем.

...