Ошибки при использовании DialogFlow "API агента восстановления" - PullRequest
0 голосов
/ 01 апреля 2020

Мы неожиданно начали испытывать ошибку при использовании DialogFlow " restore agent " API. Вызов не выполняется с ошибкой:

400 com.google.apps.framework.request.BadRequestException: неверный почтовый индекс агента. Отсутствует обязательный json файловый агент. json

Как ни странно, это происходит только для вновь созданных агентов DialogFlow, но не для старых / существующих. Мы используем этот API, чтобы мы могли программно создать собственного агента, используя наши собственные намерения / сущности. Этот код работал в течение последних двух лет, без каких-либо изменений с нашей стороны. Мы используем официальную клиентскую библиотеку DialogFlow для Python. У нас была версия 0.2.0, и я попытался обновить ее до последней версии (0.8.0), но изменений не было.

Я попытался изменить наш код, включив в него файл агента. json (с помощью API " export agent " и получение оттуда файла агента. json). В этом случае я больше не получаю вышеуказанную ошибку, и восстановление кажется успешным. Тем не менее, агент, кажется, каким-то образом поврежден. При попытке щелкнуть любое намерение - или различные другие операции в консоли DialogFlow - я получаю сообщение об ошибке:

Не удалось получить обучающие фразы Errorid = xxx

(где xxx представляется UUID, который изменяется каждый раз)

При попытке экспорта агента в этом состоянии также отображается ошибка:

Ошибка загрузки агента

Иногда, даже включая агент. json, как указано выше, восстановление все равно не выполняется, но возвращается ошибка:

500 Обнаружена внутренняя ошибка.

I цените любые идеи о том, как мы можем заставить это работать снова. Спасибо!

1 Ответ

2 голосов
/ 02 апреля 2020

После долгих проб и ошибок я нашел решение. Вот в случае, если кто-то еще сталкивается с этим. Что-то должно было недавно измениться в том, как DialogFlow обрабатывает закачку zip во время операции «агент восстановления» -

1) Файл агента. json теперь требуется в zip-файле, где раньше он был необязательным

2) Мы обнаружили, что некоторые элементы "id" в наших файлах _usersays для разных намерений не являются действительными UUID. Ранее это не вызывало никаких ошибок, но теперь агент оказывается в недопустимом состоянии (ошибка «Не удалось получить обучающие фразы» и т. Д. c, как указано выше).

...