Для тех, кто не в теме. Интерфейс к базе данных на естественном языке означает следующее.
- Пользователь задает вопрос в произвольной форме
- Большая языковая модель обрабатывает этот вопрос и выдает SQL запрос. Чтобы модель понимала, какие у нас есть таблицы, мы перед вопросом пользователя вставляем описание таблиц.
- Сейчас качество работы больших языковых моделей уже достаточно высокое. В общем случае, полученный SQL запрос можно было бы выполнять "как есть". Но, так как у нас 1С, то надо сделать еще кое-что, а именно, транслировать полученный SQL запрос в запрос 1С
- Запрос 1С выполняется, результат выполнения запроса тем или иным способом представляется пользователю
В принципе, вся информация, которая нужна для того, чтобы сделать это, есть в свободном доступе. Представленная здесь обработка хороша тем, что все собрано и приведено к минимально работающему виду. Можно использовать как заготовку для своих собственных разработок. Также с ее помощью можно сразу приступить к собственным исследованиям, не отвлекаясь на проработку очевидных технических деталей.
Все необходимые пояснения даны в коде в комментариях
данные = новый структура;
данные.Вставить("model","gpt-3.5-turbo");
данные.Вставить("messages",мСообщений);
//вот здесь важно, здесь мы отключаем "креативность" (сэмплирование по-научному)
//для запросов оно нам не нужно и вредно
данные.Вставить("temperature",0);
//без "стопов" у вас будет SQL с довеском бла-бла-бла, от которого надо будет как-то избавляться
//впрочем, с проблемой бла-бла-бла вы все равно столкнетесь
данные.Вставить("stop",мСтоп);
Для работы нужно раздобыть ключ API. Как это сделать, уже много раз писали, не буду повторять здесь.
Конкретный простенький пример тестировал на УТ 11.5. Это означает, что этот же пример будет работать на ERP и КА (структура данных одна и та же). Но обработка в принципе годится для любой типовой или нетиповой конфигурации
Тестировал на 8.3.22.1709. Управляемые формы.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.10.73