Возникла однажды задача внедрить чат-бота с ИИ для помощи сотрудникам компании. Помощь заключается в том, что в случае возникновения вопросов у неопытных сотрудников при разнесении первичных документов, они могли бы обратиться за помощью к чат-боту, который подскажет как правильно заполнить определенные реквизиты. С учетом моего интереса к ИИ - прям не задача, а мечта! 😊
Погнали!
“Сердцем” всего решения стала модель gpt-4o-mini от компании OpenAI. Выбрал ее по соотношению “цена - качество”. У OpenAI есть замечательный инструмент - GPT Assistants, который позволяет один раз настроить GPT, подгрузить в нее файлы в качестве базы знаний и дальше уже просто отправлять ей запросы по API.
Вкратце настройка ассистента выглядела так:
- Сбор необходимой информации из регламентных документов компании
- Структурирование этой информации в виде JSON
- Заполнение JSON-файла с примерами корректных вопросов-ответов на основе уже заполненных и проверенных ответственным пользователем документов в 1С
- Удаление из этих примеров конфиденциальной информации (имена сотрудников, названия контрагентов) - все-таки мы используем не локальную модель, а API =)
- Написание промпта для ассистента (поскольку выбранная модель не обладает способностью к рассуждению, то в промпте были использованы лайфхаки типа “думай за шагом” и пр.)
- Подключение файлов JSON к ассистенту
Далее естественно происходил процесс отладки промпта. Благо это очень удобно делать прямо в OpenAI Playground.
Ассистент готов! Доступ к нему было решено организовать двумя путями - через Телеграм-бота и непосредственно из 1С. Вариант через Телеграм мне показался более простым в реализации, с него и решили начать. Тем более, что болванка для бота на Aiogram у меня уже была написана ранее для другого проекта. В итоге за вечер появился на свет ТГ-бот со сгенерированной в ЧатГПТ аватаркой. =) Работал этот бот просто с локального компа, до настройки сервера в этот момент я еще добрался.
На этом этапе подключили для тестирования несколько опытных сотрудников. Они задавали боту вопросы и скидывали мне переписки, в которых он ошибался. Большинство ошибок возникало из-за того, что информация о которой его спрашивают отсутствует в базе знаний. Еще одна причина была в небольшом количестве ошибок в файле с примерами. Хоть он и был заранее проверен. Правил базу знаний, промпт, примеры…
Также во время тестов пришла идея сгенерировать некоторое количество вопросов с помощью ChatGPT, прогнать их через бота и отдать на проверку опытному сотруднику. Таким способом тоже было выявлено пару косяков и сэкономлено время коллег. =)
Настало время реализовать доступ из 1С. Из уже работающего бота взял пару модулей (работу с базой данных и обращения к API OpenaAI) и реализовал небольшой веб-сервис на FastAPI. Первые несколько дней этот веб-сервис также проработал просто на локальном компе. А доступ к нему через интернет был настроен с помощью программки ngrok.
Для 1С сделал маленькую,
Отдельно скажу про вот это “немножко его дополняет“. Если что-то можно реализовать алгоритмом, без использования нейросетей, так и надо делать. Конечно по сравнению с GPT 3.5 качество и надежность ответов несравнимо возросли. Но все-таки нейросеть - это по-прежнему черный ящик, который надо применять там, где задачу нельзя свезти к старым добрым алгоритмам.
Дальше еще был очень интересный процесс настройки сервера на Linux, про который можно не один пост написать…
После недолгого тестирования внутри одного отдела, презентовали бота сотрудникам других отделов. Обработку оформил как внешнюю и установил на большинство наших баз 1С. Потихоньку народ начинает пользоваться. Вот такая получилась история.
P.S.: На картинке к посту, как вы уже догадались, изображена схема работы этого чуда. 😊
@Konstantin1C

