Чат бот в 73 строки на 1С - ИИ наступает

Программирование - Практика программирования

Интеграция с уже готовой системой чат-бота для различных случаев жизни. Используется API от DialogFlow Google. Обработка тестировалась на 1С:Предприятие 8.3 (8.3.10.2252) Должно работать на всех 8.3 версиях.

Чат бот в 73 строки на 1С

Возникла необходимость прикрутить робота-автоответчика для службы поддержки, чтобы отвечал, для начала, на самые простые вопросы.

Здесь выкладываю полнофункциональную демо-обработку, в которой демонстрируется принцип создания чат-бота, и особенности подключения и кодирования в 1С.


Регистрируемся здесь:  https://dialogflow.com/

В первую очередь, идём и регистрируемся на Dialogflow (просто входим с помощью своего Google аккаунта). Сразу после авторизации попадаем в панель управления.

Далее переходим в консоль: https://console.dialogflow.com

Создаем нового агента – слева вверху (Create Agent):

welcome

 

Вводим любое имя, желательно сразу выбрать нужный язык (русский) нажимаем «Create»

create agent

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

Ищем слева «Prebuilt Agents»

(это уже специально обученные агенты, которые имеют множество команд) и из всего представленного списка выбрать Small Talk.

prebuilt Agents

Для начала нам подойдет «Small Talk»

Наводим на него и нажимаем "Import". Далее ничего не меняя, нажимаем "Ok". Агент импортировался и теперь мы можем его настроить. Для этого в левом верхнем углу жмём на шестерёнку возле "Small-Talk" и попадаем на страницу настроек.

Теперь мы можем изменить имя агента, как захотим.  Меняем часовой пояс и во вкладке "Languages" проверяем, чтобы был установлен русский язык (если не установлен, то ставим).

Сохраняем изменения  - кнопка"SAVE"

На вкладке "General", спускаемся немного вниз и копируем "Client access token"

 

расположение токена

Далее, в процедуре "ПриСозданииНаСервере" - введите ваш токен вместо слова "ВАШ ТОКЕН".

Вот и всё!

Запускаем обработку в управляемом режиме, и в поле "Строка команды" - вводим свой текст, например "привет", или "как дела".

Нажимаем "Отправить команду". В поле диалога получаем ответ.


Теперь почти каждый сможет написать своего чат-бота, для кого-то - нового сотрудника, а для кого-то, и нового друга (шутка). Осталось лишь теперь его учить и учить. Делать это можно во вкладке "Training". Там можно посмотреть все сообщения, которые писались и что на них ответил бот. Там же его можно и обучать, говоря боту где он ответил правильно, а где нет.

 

Обработка для 1С в 73 строки - в приложенном файле.

Описание API: https://dialogflow.com/docs/reference/agent/

 

 

Скачать файлы

Наименование Файл Версия Размер
Чат бот в 73 строки на 1С - ИИ наступает:
.epf 7,06Kb
07.04.18
14
.epf 0.1 7,06Kb 14 Скачать

См. также

Комментарии
1. Михаил Кочнев (Mi4man) 146 09.04.18 18:55 Сейчас в теме
Можно ли подгрузить готовые тексты для обучения? И если есть, то в можно пример файла?
2. Алексей Лапицкий (Lapitskiy) 869 10.04.18 03:18 Сейчас в теме
(1) все тексты и обучение - на сайте DialogFlow. Там их можно экспортировать и импортировать. Эта обработка - просто обертка для соединения с API
Надеюсь, пригодится кому-нибудь, чтобы не мучится с параметрами связи по АПИ. Потому что примеров для 1C от разработчиков - конечно нет :)
3. Алексей Лапицкий (Lapitskiy) 869 10.04.18 14:47 Сейчас в теме
Обработке не нужны дополнительные тексты, она работает с уже готовым ботом, который мы создаем на сайте. Далее, просто запускаем в 1С, и можно уже сразу вести диалог.
4. С К (kraynev-navi) 356 11.04.18 13:57 Сейчас в теме
После начала "тренировок" получил ошибку чтения json. Лучше соответствующий кусок изменить на
	СоответствиеРезультат	= ПрочитатьJSON(ЧтениеJSON,Истина);
	
	Попытка
		СтрокаОтветаСервера	= СоответствиеРезультат["result"]["fulfillment"]["speech"];
	Исключение
		СтрокаОтветаСервера	= ОписаниеОшибки();
	КонецПопытки;
Показать


А, вообще, практической ценности для наших задач пока не наблюдаю (.
5. Алексей Лапицкий (Lapitskiy) 869 12.04.18 09:57 Сейчас в теме
(4) Да, можно и так, это уже "по вкусу" можно доработать.
Задачи разные у всех, возможно скоро и потребуется что-то подобное :)
Оставьте свое сообщение