Прежде, чем перейдем к собственно техническим приемам, разберемся с тем, откуда мы будем брать ответы на вопросы по продажам.
Откуда искусственный интеллект узнает что, когда и кому мы продавали?
Такой бесхитростный вопрос нередко приходится слышать не только от рядовых пользователей (что извинительно), но и от специалистов. Ответ такой же бесхитростный: ниоткуда. Знать что, когда и кому мы продавали искусственному интеллекту а) не обязательно и б) не желательно. Чтобы получить информацию из базы данных, надо выполнить запрос к базе данных. Искусственному интеллекту мы поставим задачу выдать нам текст запроса к базе данных, а дальше мы уж как-нибудь сами. Для того, чтобы сгенерить текст запроса, искусственному интеллекту не надо иметь доступ к нашим данным, достаточно будет описать структуру таблиц. Мы так привыкли к "низко висящим плодам" (в случае с ИИ это выражается в "давайте ему все скормим, а оно уж как-нибудь само разберется"), что описанное выше многим кажется хитрым трюком. Но эта идея довольна проста и, что называется, лежит на поверхности.
Жестокий кризис данных для обучения привел в недавнем прошлом к тому, что из интернета было "выжато" все, что только можно (и что нельзя тоже). В результате state of art модели стали вполне сносно работать с 1С, писать как код на языке 1С, так и тексты запросов на языке запросов 1С. Последнее нас здесь и интересует.
Итак, нам надо каким-то образом "познакомить" ИИ со структурой таблиц. Как вы уже понимаете, не надо "скармливать все". Нас интересуют продажи. Вот про структуру таблиц, связанных с ними и "расскажем" ИИ. В типовых конфигурациях ERP (УТ, КА) есть регистр хороший регистр накопления "ВыручкаИСебестоимостьПродаж". Опишем его структуру и структуру связанных таблиц в системном промте.
1С:Предприятие
Регистр накопления ВыручкаИСебестоимостьПродаж.
Измерения:
АналитикаУчетаНоменклатуры тип СправочникСсылка.КлючиАналитикиУчетаНоменклатуры
АналитикаУчетаПоПартнерам тип СправочникСсылка.КлючиАналитикиУчетаПоПартнерам
Менеджер тип СправочникСсылка.Пользователи
Ресурсы:
Количество тип Число
СуммаВыручки тип Число
Стоимость тип Число
Справочник КлючиАналитикиУчетаНоменклатуры
Реквизиты:
Номенклатура тип СправочникСсылка.Номенклатура
Справочник Номенклатура (используй псевдоним СправочникНоменклатура)
Реквизиты:
Наименование тип Строка
Артикул тип Строка
Справочник КлючиАналитикиУчетаПоПартнерам
Реквизиты:
Партнер тип СправочникСсылка.Партнеры
Справочник Партнеры
Реквизиты:
Наименование тип Строка
Справочник Пользователи
Реквизиты:
Наименование тип Строка
Сегодня 1 марта 2025 года
нужен текст запроса на языке 1С для получения ответа на вопрос пользователя
нужен только текст запроса
Системный промт это просто текст, который мы будем передавать в качестве одного из параметров в функцию Генерация() Библиотеки искусственного интеллекта для 1С. Библиотека распространяется бесплатно, под лицензией CC BY 4.0. Это означает, что вы можете использовать ее для создания своих коммерческих продуктов. Не думайте только, что надо писать этот системный промт буква в букву так, как написал я. Большие языковые модели работают не так. Им важен смысл. А что, в каком порядке и какими словами вы напишите, не принципиально. Обратите внимание на то, что я сделал приписку к справочнику Номенклатура: "(используй псевдоним СправочникНоменклатура)". Для типовых конфигураций 1С придется что-то подобное писать. Почти все справочники в типовых поименованы во множественном числе, а реквизиты, в свою очередь, в единственном. Склады-склад, контрагенты-контрагент, организации-организация. Если бы без малого 30 лет назад неизвестный мне автор типовых конфигураций 1С не выпендривался и использовал нормальную связку: товары-товар, вместо проблематичной: номенклатура-номенклатура, то мы бы сейчас этой ерундой не занимались. Но, слава богу, для современных моделей большинство наших проблем действительно ерунда. Сделал приписку и все в порядке.
Также обратите внимание на три последние строки в системном промте. В общем случае ИИ ничего не знает про то, какой сегодня день и это надо явно указывать. Дальше мы говорим, что мы хотим получить текст запроса на языке 1С и нужен только текст запроса, без бла-бла-бла. Здесь можно было бы использовать JSON-схему для задания четкого формата ответа. Но в нашем случае можно работать и с текстом запроса, только "тройные кавычки" (```) оттуда убрать.
Теперь, когда у нас есть системный промт, мы можем соединять его с вопросом пользователя, отправлять ИИ, получать в ответ текст запроса, выполнять запрос и показывать пользователю результат. Если вам самим лень все это компоновать то к статье прилагается готовая обработка, которая все это делает.
Сказали, что нам надо, и получили, что нам надо. Специалисты могут поинтересоваться текстом запроса.
Вы, возможно, заметили что в результат попали группы из справочника Номенклатура. Но с искусственным интеллектом большинство наших проблем проблемами не являются.
Любой пользователь сможет выйти из затруднений. Надо просто следовать принципу: сказал, что тебе надо, и получил, что тебе надо.
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.21.99