Использование языковой модели GPT3 для создания интерфейса 1С на естественном языке

15.01.23

Разработка - Работа с интерфейсом

Я взял типовую конфигурацию УТ редакции 11.5 Немного доработал запрос к языковой модели GPT-3 и получил возможность обращаться к учетной системе на естественном языке

Думаю, что уже почти все в курсе насчет GPT, но все же начну с небольшой справки.

GPT расшифровывается как Generative pretrained transformers. Это языковая нейросеть, обученная по технологии transformer. Описание технологии появилось в общем доступе в 2020 году. Кому интересно, ссылка здесь https://arxiv.org/abs/2005.14165. История развивалась более или менее обычными темпами для ИТ, но в конце прошлого года произошло нечто, выходящее за привычные рамки. Компания  OpenAI выложила в общий доступ версию языковой модели, взаимодействие с которой организовано в виде чата. Всего лишь за одну неделю этот чат преодолел отметку в миллион пользователей. Такого раньше не было. О chatGPT стали очень много говорить и писать. В том числе, совершенно фантастические вещи. Наиболее впечатлительные начали говорить, что скоро нам всем конец, потому что искусственный интеллект вот-вот захватит мир.

Если не терять голову и смотреть на вещи трезво, то надо понимать, что языковая модель, это достаточно простая, почти механическая, штука. Вся магия в объемах данных, использованных для обучения. Ответ на ваш вопрос формируется как результат компиляции из того, что было ранее сказано в интернете. Языковая модель не обладает сознанием, она не в состоянии делать элементарные логические выводы. Общаясь с ней не стоит забывать, что вы общаетесь не с каким-то неведомым существом, а с людьми, которые когда-то обсуждали ваш вопрос в интернете.

При всем при этом, языковая модель обладает одним чудесным качеством, которое, я уверен, произведет самую настоящую революцию в области взаимодействия людей с компьютерами вообще и с базами данных и учетными системами в частности.

Она вас понимает.

Что это означает, я вам сейчас продемонстрирую на примере работы с типовой конфигурацией УТ редакции 11.5.

Я написал небольшое дополнение, которое необходимо добавлять к каждому вопросу пользователя. В этом дополнении дается описание таблиц базы УТ. В силу ограничений, установленных OpenAI для работы в режиме бесплатного тестирования, я включил в это описание не всю конфигурацию, как есть, а ограничился некоторым более или менее содержательным подмножеством таблиц. В него вошли остатки на складе, продажи и взаиморасчеты. Кроме того, так как большинство 1с-ников привыкли читать запросы на русском языке, я сделал перевод выдаваемого языковой моделью текста запроса.

Также я написал простенькую обработку. Пользователь вводит свой вопрос на русском языке и получает ответ. При желании можно заглянуть в текст запроса.

 

 

 

Можно сказать, что мой первый вопрос составлен не совсем на русском языке. Скорее на русско-программистском. Но я хотел для начала дать языковой модели наиболее легкое задание. В этом тексте вопроса уже содержатся готовые инструкции: какие таблицы с какими следует соединять и по каким условиям.

Зададим более непринужденный вопрос.

 

 

Текст запроса для этого вопроса почти такой же

ВЫБРАТЬ РегистрТоварыНаСкладах.ВНаличииОстаток
 ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки как РегистрТоварыНаСкладах
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура как СправочникНоменклатура
 ПО РегистрТоварыНаСкладах.Номенклатура = СправочникНоменклатура.ссылка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады как СправочникСклады
 ПО РегистрТоварыНаСкладах.Склад = СправочникСклады.ссылка
 ГДЕ СправочникНоменклатура.наименование = "чай" И СправочникСклады.наименование = "основной"

Я зря старался в первом вопросе. Языковая модель и так понимает, что, с чем и как следует соединять.

Раз так, зададим вопрос совсем по-человечески

 

 

Ответ такой же. Текст запроса не имеет смысла приводить, потому что он полностью совпадает с предыдущим. И это прекрасный результат. Особенно с учетом того, что у нас есть не только регистр остатков но и регистр продаж. А там тоже есть товар и склад. Но языковая модель совершенно правильно понимает, что нам нужны остатки.

Попросим теперь показать продажи.

 

 

Текст запроса здесь такой:

ВЫБРАТЬ СУММА(РегистрВыручка.Количество)
 ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж как РегистрВыручка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура как СправочникНоменклатура
 ПО РегистрВыручка.АналитикаУчетаНоменклатуры.Номенклатура = СправочникНоменклатура.ссылка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Склады как СправочникСклады
 ПО РегистрВыручка.Склад = СправочникСклады.ссылка
 ГДЕ СправочникНоменклатура.наименование = "чай" И СправочникСклады.наименование = "основной"

 

Можно еще и так

 

 

ВЫБРАТЬ СУММА(РегистрВыручка.Количество), СУММА(РегистрВыручка.СуммаВыручки)
 ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж как РегистрВыручка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура как СправочникНоменклатура
 ПО РегистрВыручка.АналитикаУчетаНоменклатуры.Номенклатура = СправочникНоменклатура.ссылка
 ГДЕ СправочникНоменклатура.наименование = "чай"

 

Или так

 

 

ВЫБРАТЬ СправочникНоменклатура.наименование, СУММА(РегистрВыручка.Количество)
 ИЗ Справочник.Номенклатура как СправочникНоменклатура
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.ВыручкаИСебестоимостьПродаж как РегистрВыручка
 ПО СправочникНоменклатура.ссылка = РегистрВыручка.АналитикаУчетаНоменклатуры.Номенклатура
 ГДЕ СправочникНоменклатура.наименование = "Чай" ИЛИ СправочникНоменклатура.наименование = "Сахар"
 СГРУППИРОВАТЬ ПО СправочникНоменклатура.наименование

 

Попробуем поставить языковую модель в тупик. Зададим неоднозначный, расплывчатый вопрос: "Сколько чая?" Из самого вопроса сложно понять, что хочет узнать вопрошающий. Остатки на складе или объем продаж?

 

ВЫБРАТЬ СУММА(РегистрВыручка.Количество)
 ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж как РегистрВыручка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура как СправочникНоменклатура
 ПО РегистрВыручка.АналитикаУчетаНоменклатуры.Номенклатура = СправочникНоменклатура.ссылка
 ГДЕ СправочникНоменклатура.наименование = "чай"

Языковая модель не зависает и не ломается. Она просто решает, что в данном случае будет уместным выдать информацию о продажах.

Если пользователь все-таки хотел получить информацию об остатках, он может задать вопрос чуть иначе. Например, вот так.

 

 

ВЫБРАТЬ РегистрТоварыНаСкладах.ВНаличииОстаток
 ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки как РегистрТоварыНаСкладах
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура как СправочникНоменклатура
 ПО РегистрТоварыНаСкладах.Номенклатура = СправочникНоменклатура.ссылка ГДЕ СправочникНоменклатура.наименование = "чай"

Или так.

 

 

Текст запроса совпадает с предыдущим. Здесь важно то, что возникшее затруднение пользователь может решить так же, как он это привык делать при обычном общении. 

Приведу еще несколько примеров.

 

 

ВЫБРАТЬ СУММА(РегистрВыручка.Количество)
 ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж как РегистрВыручка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура как СправочникНоменклатура
 ПО РегистрВыручка.АналитикаУчетаНоменклатуры.Номенклатура = СправочникНоменклатура.ссылка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты как СправочникКонтрагенты
 ПО РегистрВыручка.АналитикаУчетаПоПартнерам.Контрагент = СправочникКонтрагенты.ссылка
 ГДЕ СправочникНоменклатура.наименование = "чай" И СправочникКонтрагенты.наименование = "Иванов"

 

 

ВЫБРАТЬ СУММА(РегистрВыручка.Количество)
 ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж как РегистрВыручка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура как СправочникНоменклатура
 ПО РегистрВыручка.АналитикаУчетаНоменклатуры.Номенклатура = СправочникНоменклатура.ссылка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Пользователи как СправочникПользователи
 ПО РегистрВыручка.Менеджер = СправочникПользователи.ссылка
 ГДЕ СправочникНоменклатура.наименование = "чай" И СправочникПользователи.наименование = "Иванов"

 

 

ВЫБРАТЬ СправочникКонтрагенты.наименование, РегистрВзаиморасчетов.СуммаОстаток
 ИЗ РегистрНакопления.РасчетыСКлиентами.Остатки как РегистрВзаиморасчетов
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты как СправочникКонтрагенты
 ПО РегистрВзаиморасчетов.АналитикаУчетаПоПартнерам.Контрагент = СправочникКонтрагенты.ссылка
 ГДЕ СправочникКонтрагенты.наименование = "ООО Ромашка"

Как видите, языковая модель прекрасно справляется с вопросами на естественном языке. Во всем этом есть только один досадный момент. На вопрос "Сколько продано чая Иванову в январе" будет получен вот такой текст запроса

ВЫБРАТЬ СУММА(РегистрВыручка.Количество) ИЗ РегистрНакопления.ВыручкаИСебестоимостьПродаж как РегистрВыручка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура как СправочникНоменклатура
 ПО РегистрВыручка.АналитикаУчетаНоменклатуры.Номенклатура = СправочникНоменклатура.ссылка
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Контрагенты как СправочникКонтрагенты
 ПО РегистрВыручка.АналитикаУчетаПоПартнерам.Контрагент = СправочникКонтрагенты.ссылка
 ГДЕ СправочникНоменклатура.наименование = "чай"
 И СправочникКонтрагенты.наименование = "Иванов"
 И РегистрВыручка.период МЕЖДУ датавремя(2020,01,01) И датавремя(2020,01,31)

Когда мы говорим "в январе", мы имеем ввиду январь текущего года. Но в данном случае языковая модель нас не понимает. Более того, бесполезно пытаться уточнять "в январе 2023 года". Результат будет тот же. Здесь самое время вспомнить, что мы получаем ответы от людей, которые когда-то что-то писали в интернете. Обучение языковой модели происходило в 2021 году. И на тот момент в интернете не было (или почти не было, что одно и то же) текстов запросов, в которых упоминался бы 23 год. Время - это самое слабое место языковых моделей. Разработчик, OpenAI честно предупреждает об этом. Для учетных систем это реальная проблема. Но, к счастью, она решается путем относительно несложной доработки. 

Подведем итоги. Использование языковой модели дает нам реальную возможность построения интерфейсов на естественном языке. Эффект усиливается еще и тем, что в недавно представленной платформе 8.3.23 уже присутствует сервис распознавания речи. Языковые модели и сервис распознавания речи приведут к революционным изменениям в способах взаимодействия пользователей с учетными системами и базами данных. Думаю, что каждому специалисту будет полезно узнать об этом и, по возможности, погрузиться в тему поглубже.

Если вас заинтересовал материал данной статьи и вы хотели бы поэкспериментировать с языковой моделью самостоятельно, тогда оставляйте заявку в произвольной форме на https://brainguard.ru 

Если заявок наберется достаточное количество, я решу вопрос с корректной обработкой времени и открою доступ к тестовой площадке для зарегистрировавшихся.

См. также

Нейросети 8.3.6 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Обработка подключения фотокамер Canon и Nikon к Управление торговлей 11.4 для потоковой загрузки фотографий в карточки товаров с автоматическим удалением фона

22800 руб.

24.06.2021    9819    3    4    

14

Нейросети Пользователь Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Расширение "Искусственный интеллект и нейросети в 1С: Работа с отзывами маркетплейсов" предназначено для применения искусственного интеллекта в повседневной деятельности селлеров на маркетплейсах. Среди функций - работа с отзывами, вопросами и чатами покупателей, диалог с нейросетями, генерация картинок, заполнение описаний номенклатуры и другое.

6000 руб.

03.04.2024    6377    4    0    

8

Мастера заполнения Нейросети Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

Расширение для заполнения описания товара (номенклатуры) с помощью модели ИИ ChatGPT с ключевыми словами. Расширение формирует продающее описание товара по его наименованию с помощью модели искусственного интеллекта. Будет полезно для владельцев интернет магазинов, каталогов товаров и продающих через маркетплейсы. Адаптировано для основных конфигураций: УТ, ЕРП, КА, УНФ. Прошло аудит на 1cfresh.com. Версия для автоматического заполнения

5000 руб.

13.03.2023    17953    46    49    

75

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Богатый редактор картинок 1С предназначен для обработки изображений в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    62986    44    59    

82

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    18855    26    6    

41

Работа с интерфейсом Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Редактор графов в 1С - внешний отчет, который формирует графы на основе таблицы значений, используя рисунки табличного документа. Есть возможность добавления, редактирования объектов графа и выгрузки результата в таблицу значений.

1500 руб.

06.10.2020    10227    7    7    

10

Работа с интерфейсом Программист Стажер Платформа 1С v8.3 Бесплатно (free)

Это инструкция по дизайну форм в среде 1С. Гайд охватывает рекомендации и стандарты для оптимизации пользовательского интерфейса. В гайде содержатся указания по использованию элементов интерфейса, включая как основные, так и продвинутые аспекты. Предоставляются также примеры и антипримеры для наглядного понимания принципов дизайна

20.08.2024    16814    mrXoxot    43    

121
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. human_new 694 16.01.23 03:35 Сейчас в теме
Круто, наслышен про возможности нейросети, круто, что так быстро начали адаптацию на 1с.
Obertone; +1 Ответить
3. 3vs 16.01.23 06:45 Сейчас в теме
(1)Я так понимаю, скоро 1С создаст свою нейросеть и будет продавать её как сервис! :-)
jan-pechka; shard; Wrols; Darklight; AllexSoft; +5 Ответить
2. pavlov_dv 16.01.23 05:05 Сейчас в теме
Тема, несомненно, интересная. Прогресс не стоит на месте ))

Хотелось бы еще "программистских" подробностей: внутренности обработки, как подключаетесь, какие возможности обучения и пр.
Laky; Wrols; Obertone; +3 Ответить
4. mkalimulin 1230 16.01.23 07:44 Сейчас в теме
(2) В том-то и дело, что нет там никаких подробностей, о которых стоило бы писать. Оттранслировал вопрос пользователя языковой модели, получил текст запроса, выполнил запрос
5. Viver 16.01.23 09:20 Сейчас в теме
Тоже экспериментировал похожим образом, пока сеть не запоминает значения переменных в контексте чата, а как только эта возможность появится, т.е. можно будет описать структуру метаданных, то возможности открываются грандиозные.
crismar24; +1 Ответить
6. kalyaka 1105 16.01.23 09:29 Сейчас в теме
Ну это продолжения развития сервисов голосовых помощников типа Алиса. Ждем когда появится аналог в России. Приведенный в статье сервис недоступен в нашей стране "OpenAI's services are not available in your country" и является закрытым проектом.
7. booksfill 16.01.23 10:41 Сейчас в теме
Не хотелось бы прослыть ретроградом, но похоже на историю создания SQL, как языка запросов для домохозяек.
А еще больше на общение с джином:
- Я хочу попасть домой!
- Ну, давай руку - пойдем.
- Ты не понял, я хочу быстрей!
- Ну, тогда побежали!

"Сколько чая продал менеджер Иванов?"
Не, так не прокатит.
Даже не обращая внимания на "странный" поиск организации, номенклатуры и менеджера по наименованию.

В реальной жизни это звучит как-то так:
"Сколько продал менеджер Иванов (причем не тот, что Иванов кладовщик, а то Иванов, что менеджер по продажам в торговом зале) из подразделения "Владыкино" за период с 01.12.2021 по 20.11.2022 (на начало дня) с учетом возвратов по состоянию на текущую дату, но не учитывая возвраты по номенклатуре с типом "уценка".
Также нельзя учитывать продажи по заказу, сумма которого менее установленной в нормативах на дату продаж, или если количество звонков клиенту в периоде было менее норматива звонков, установленного в планах продаж.
Если номенклатура участвовала в акциях, то в сумму продаж включается не акционная цена, указанная в РТУ, а оптовая цена.
В сумму продаж должны включаться только полностью оплаченные реализации, или реализации по заказам с типом "без предварительной оплаты"."

И это очень скромный запрос.

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

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

По-моему, GPT полезно только как поставщик шаблонов, например, "напиши мне на JScript
вызов метода ПослатьВсех, с частотой не менее 3 секунд, чтоб не забанили".
И тут уже GPT, в отличие от "обычного порошка, и промисы создаст, и всякие там then catch для них не забудет и код красиво отформатирует и даже учтет, что в самом браузере есть параметр, регулирующий как часто опрашивается очередь отложенных операций.
user797130; cleaner_it; LeXXeR; cdiamond; vvp117; nekit_rdx; amd1986; Gal_B; Alixir; JohnyDeath; Altavista-; =Kollega=; dabu-dabu; AllexSoft; +14 Ответить
8. kalyaka 1105 16.01.23 10:59 Сейчас в теме
(7)
похоже на историю создания SQL
Скорее на COBOL :) История показывает, что при таком подходе программисты просто начнут программировать на псевдо-естественном языке. Есть сервисы по созданию картин по описанию и есть специальные заготовки для таких запросов к этим сервисам, чтобы получать действительно что-то стоящее. Т.е. вместо формального языка получаем псевдо-естественный с негарантированным результатом :)
serg_gres; AllexSoft; +2 Ответить
9. booksfill 16.01.23 11:04 Сейчас в теме
(8)
Т.е. вместо формального языка получаем псевдо-естественный с негарантированным результатом :)

Именно так.
cleaner_it; +1 Ответить
10. mkalimulin 1230 16.01.23 11:13 Сейчас в теме
(8) Что вы увидели неестественного в примерах вопросов в статье? Я вам специально описал неестественный вопрос в самом начале. А дальше наглядно показал, что в этом не было необходимости. Вопрос об остатках или о продажах можно задавать любым способом. Ответ будет тот же
G_116449793522595596167; Fox-trot; +2 Ответить
24. comptr 35 16.01.23 14:57 Сейчас в теме
(8) ChatGPT как раз используют для создания подробного запроса для сервисов генерации картинок.
11. bprogs 277 16.01.23 11:17 Сейчас в теме
(7) когда дело касается интеллекта , уровень бинарной системы не способен обеспечить комфорт для этих условий))) если даже будет что то похожее то это будет связано с тупым но верным решением .......
122. пользователь 19.03.23 21:15
Сообщение было скрыто модератором.
...
12. DMon 120 16.01.23 11:37 Сейчас в теме
Если у компании 2 товара (чай и сахар) и 2 менеджера, наверное прикольно.
А если номенклатуры 100к+ и около сотни однотипной (отличаются только пара букв/цифр в названии) - наверное быстрее отчет.
Почему бы не пользоваться обычной консолью запроса? У нас бОльшая половина менеджеров предпочитают консоль.
13. mkalimulin 1230 16.01.23 11:40 Сейчас в теме
(12) Если пользователь не напутает буквы/цифры, то языковая модель тоже не напутает. Если не удобно работать с наименованиями, то можно задавать вопросы типа:
"Сколько осталось артикула 123-А"
14. bprogs 277 16.01.23 11:47 Сейчас в теме
(13)
О chatGPT стали очень много говорить и писать. В том числе, совершенно фантастические вещи.

" это как технологии в матрице , технологии рассказа отдельно , и решения которые сделаны на не понятных технологиях, но все слито в одно как будто сделано на этой технологии?))) "

такие фантастические вещи вы имели ввиду?))))))))))
15. quazare 3800 16.01.23 12:26 Сейчас в теме
регулярные выражение называются теперь нейросетями? или я что-то путаю?
17. mkalimulin 1230 16.01.23 13:42 Сейчас в теме
(15) Вы что-то путаете. Я не пользовался регулярными выражениями. Вопрос пользователя передаётся языковой модели как есть
16. noprogrammer 239 16.01.23 12:48 Сейчас в теме
Что это означает, я вам сейчас продемонстрирую на примере работы с типовой конфигурацией УТ редакции 11.5.

Я написал небольшое дополнение, которое необходимо добавлять к каждому вопросу пользователя. В этом дополнении дается описание таблиц базы УТ. В силу ограничений, установленных OpenAI для работы в режиме бесплатного тестирования, я включил в это описание не всю конфигурацию, как есть, а ограничился некоторым более или менее содержательным подмножеством таблиц. В него вошли остатки на складе, продажи и взаиморасчеты

Можно немного прояснить данный вопрос? а конкретно, что за "дополнение" а точнее как оно интегрируется в GPT ?
Хотелось бы понять как подключать свою языковую модель?
18. mkalimulin 1230 16.01.23 13:46 Сейчас в теме
(16) Как я и сказал в статье, описание таблиц, а за ним вопрос. Можно передавать в Codex, можно в ChatGPT. Модель и там и там одна и та же. С практической точки зрения Codex может быть лучше (дешевле), но это не принципиально
19. noprogrammer 239 16.01.23 13:54 Сейчас в теме
Я так понимаю это одно предложение
Как я и сказал в статье, описание таблиц, а за ним вопрос. Можно передавать в Codex , можно в ChatGPT
?
22. mkalimulin 1230 16.01.23 14:15 Сейчас в теме
23. noprogrammer 239 16.01.23 14:33 Сейчас в теме
(22)
Как я и сказал в статье, описание таблиц, а за ним вопрос

Я не могу понять данное предложение... Оно мягко говоря не закончено.
Следующее предложение
Можно передавать в Codex , можно в ChatGPT
- что можно передать? То, что написано в первом предложении?
25. mkalimulin 1230 16.01.23 16:34 Сейчас в теме
(23) В "дополнении" описываются таблицы. Извините, если непонятно объяснил
26. anosin 29 16.01.23 18:58 Сейчас в теме
27. mkalimulin 1230 16.01.23 19:32 Сейчас в теме
(26) Любые. Я описывал остатки на складе, продажи, взаиморасчеты
43. anosin 29 16.01.23 23:21 Сейчас в теме
(27) пример описания есть?
44. mkalimulin 1230 16.01.23 23:32 Сейчас в теме
(43) Есть на сайте OpenAI

### Postgres SQL tables, with their properties:
#
# Employee(id, name, department_id)
# Department(id, name, address)
# Salary_Payments(id, employee_id, amount, date)

Первые две строки можно выкинуть
51. starik-2005 3087 17.01.23 10:06 Сейчас в теме
(44)
### Postgres SQL tables, with their properties:
Ну вот видите, желтая прокладка - это лишнее.
81. mkalimulin 1230 17.01.23 17:06 Сейчас в теме
(51) Так далеко не задумывался, но в этом что-то есть
78. alex_sayan 51 17.01.23 15:48 Сейчас в теме
(44) а в обработке из статьи как выглядит?
80. mkalimulin 1230 17.01.23 16:23 Сейчас в теме
(78) Также и выглядит. Только имена на русском языке. Типа:

# Остатки(товар_id, склад_id, количество)
20. quazare 3800 16.01.23 14:00 Сейчас в теме
(17) вижу, что не пользовались, а могли бы обработать предложение регулярным, а потом использовать в запросе
21. mkalimulin 1230 16.01.23 14:14 Сейчас в теме
28. starik-2005 3087 16.01.23 21:33 Сейчас в теме
(21) У народа разрыв шаблона ))
Fox-trot; AllexSoft; SlavaKron; +3 Ответить
31. mkalimulin 1230 16.01.23 21:55 Сейчас в теме
(28) На мисте кто-то (не я) завел ветку. Митичкин сказал, что это фейк и утопил ее. Не верит своим глазам
Fox-trot; starik-2005; +2 Ответить
29. bprogs 277 16.01.23 21:48 Сейчас в теме
(20) регулярки супермощный инструмент, в алгоритмах очень сильно помогает подобрать нужные ключевики, и потом можно глубже копать))),так то в вашем случае нужно около 50 условий писать (если иначе так будет) ,а регулярные выражения делаются одной функцией, посмотрите очень полезную штуку вам посоветовал quazare
30. mkalimulin 1230 16.01.23 21:52 Сейчас в теме
(29) Объясните по-человечески зачем мне регулярки? Я отправляю GPT вопрос пользователя как есть. В ответ получаю текст запроса. Куда я тут должен вставить регулярку?
32. bprogs 277 16.01.23 22:06 Сейчас в теме
(30) ну вопрос у вас может быть не всегда какой вам нужен
к примеру должен прилететь текст в GPT такого формата

сколько количество товаров на складе

в этом случае вам нужно понять как обработать сам запрос что бы он улетел в нужном вам формате ,
формат регулярки будет такой
[\W*(сколько)\W*|\W*(сколечко)\W*| сколько стоит
какоеколичество|
какмного|
докакихпор|
докоихпор|
какдолго|
какое количество|
|каквелико]

так то вопросы могут быть еще и с указанием )))



синтаксис может у каждого разный для регулярок, но в этом случае вы обрабатываете любые даже самые редкие слова вопросы как нужно
34. mkalimulin 1230 16.01.23 22:22 Сейчас в теме
(32) Я использую языковую модель. ЯЗЫКОВУЮ, понимаете? Нет никакого требования к формату.
Вот прямо сейчас попробовал то, что вы предложили.
На вопрос: "сколько количество товаров чай на основном складе"
Я получаю текст запроса

ВЫБРАТЬ РегистрТоварыНаСкладах.ВНаличииОстаток
 ИЗ РегистрНакопления.ТоварыНаСкладах.Остатки как РегистрТоварыНаСкладах
 ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура как СправочникНоменклатура
 ПО РегистрТоварыНаСкладах.Номенклатура = СправочникНоменклатура.ссылка ГДЕ СправочникНоменклатура.наименование = "чай"
36. bprogs 277 16.01.23 22:24 Сейчас в теме
(34) ну у вас четко написан вопрос, попробуйте его сформулировать по другому, как бы тупой человек задал вопрос
38. mkalimulin 1230 16.01.23 22:27 Сейчас в теме
(36) Я только что это сделал. Просто ввел ваш вопрос и получил ответ от языковой модели
skyadmin; Fox-trot; user662444_kolly.93; JohnyDeath; Cmapnep; SlavaKron; starik-2005; mickey.1cx; +8 Ответить
40. bprogs 277 16.01.23 22:30 Сейчас в теме
(38) ок напишите теперь там где вы пишите

какмного товаров на яшкино
или
коль денег я должен васе

уверен вам придется весь алгоритм перекопать и переписать
42. mkalimulin 1230 16.01.23 22:44 Сейчас в теме
(40) Нет никакого алгоритма. Вы еще не поняли? Языковая модель ваши вопросы обработает и с высокой вероятностью выдаст правильный ответ. А если не выдаст, то вы ее переспросите чуть изменив свой вопрос. Точно так же, как это происходит в общении между людьми
Neuroproton; Fox-trot; +2 Ответить
49. starik-2005 3087 17.01.23 09:23 Сейчас в теме
(40) У меня друг купил студию и нанял двух архаровцев из республик делать ремонт. Они ему в воцапе писали на корявом русском вопросы. Он думал, что они, как приличные архаровцы, так вводят голосовым вводом, но оказалось, что голосовой ввод как раз прилично фильтрует акценты и все такое, распознавая преимущественно правильно, но архаровцы вводили текст руками - это их и сгубило )))
ЗЫ: для тех, кто не понял: если это вот все попробовать ввести с помощью системы распознавания голоса, то никаких "кой отаток" не будет, а будет "какой остаток". "Марковские процессы, панимаешь..." (с)
skyadmin; Fox-trot; AllexSoft; +3 Ответить
46. laperuz 47 17.01.23 06:07 Сейчас в теме
(38)
как бы тупой человек задал вопрос

ввел ваш вопрос


:)
Neuroproton; akim2040; itcorpru; zannv; user662444_kolly.93; PowerBoy; noodlich; утюгчеловек; skyadmin; support_mbk; AllexSoft; SlavaKron; starik-2005; nvv1970; bilex; 0ct0ber; ktb; D_astana; +18 Ответить
123. Neuroproton 33 11.04.23 11:37 Сейчас в теме
33. bprogs 277 16.01.23 22:17 Сейчас в теме
многие наверное не пользовались потому что сама 1с эту идеологию с регулярными выражениями только начинает внедрять, а у других языках таких как java , php, python,js , есть собственные алгоритмы , в питоне там целая технология яндекс поиск гугл поиск, алиса, ок г, маруся ,катя ,вася всем нужен regexp,тем более вы хотите смоделировать естественный язык, вам это как вода требуется скорее бегите и вникайте иначе никак ахах
35. mkalimulin 1230 16.01.23 22:23 Сейчас в теме
(33) Я не моделирую естественный язык
37. bprogs 277 16.01.23 22:25 Сейчас в теме
(35) ну заголовок публикации, значит я не так прочитал
39. mkalimulin 1230 16.01.23 22:28 Сейчас в теме
(37) Иногда полезно читать сами публикации
JohnyDeath; mikki_1C; nvv1970; +3 Ответить
41. bprogs 277 16.01.23 22:31 Сейчас в теме
(39) если что это не я писал, извиняйте если где то вам что то не понравилось, а так просто по болтать зашел
45. YA_1130000057973079 17.01.23 02:42 Сейчас в теме
А можно модуль за стармани выложить?
47. mkalimulin 1230 17.01.23 08:14 Сейчас в теме
(45) Я выложу обработку бесплатно чуть позже, когда решу вопрос с корректной обработкой времени
ildary; JohnyDeath; +2 Ответить
48. starik-2005 3087 17.01.23 09:21 Сейчас в теме
(47)
выложу
На гит сразу кидайте лучше ))
50. mkalimulin 1230 17.01.23 09:26 Сейчас в теме
(48) И на гит тоже
Fox-trot; ildary; JohnyDeath; +3 Ответить
52. AllexSoft 17.01.23 10:54 Сейчас в теме
Не готов еще народ к нейросетям (не понимает что это и зачем), ни нейросети к реальному применению (в наших 1с-ных реалиях), ибо сами запросы на выходе некорректные по факту для реальной работы. А как демонстрация работы это хорошо. Думаю народу лучше бы зашла генерация котиков из нейросети и показ бухгалтеру сгенеренного котика при формировании отчета.
53. mkalimulin 1230 17.01.23 10:58 Сейчас в теме
(52) Я привел вам с десяток примеров корректных запросов, а вы утверждаете, что запросы на выходе не корректны. Кто-то один из нас ошибается )))
54. starik-2005 3087 17.01.23 10:59 Сейчас в теме
(52)
ибо сами запросы на выходе некорректные по факту для реальной работы
Ну не сказать, что вот прям совсем некорректные. Но это первые шаги. Главное - не останавливаться (как с Луной, где маленький шаг Нила Армстронга превратился в не такой уж и большой шажок для человечества, хотя персоналки оттуда и пошли, ну и еще куча всяких технологий).
AllexSoft; +1 Ответить
55. mkalimulin 1230 17.01.23 11:04 Сейчас в теме
(52) Я тексты запросов не просто так публиковал. Каждый из запросов я запускал на демо-базе. Вы и сами можете проверить. В чем конкретно некорректность?
56. AllexSoft 17.01.23 11:18 Сейчас в теме
(55) на реальной базе (у нас например) такой запрос никогда не отработает, ибо регистр остатков может называться совсем не как в УТ, а таблица остатков и номенклатуры может быть просто огромная и такой простой запрос без использования параметров виртуальных и соединение всех остатков со всем справочником номенклатуры просто положит сервер, либо будет выполняться очень очень долго, что не реально в больших реальных базах (в несколько ТБ).
Ну и поиск номенклатуры по наименованию на равно, так это не работает )) Я еще понимаю на ПОДОБНО как реальная задача может существовать, а на равно пожалуй только по ссылке
57. mkalimulin 1230 17.01.23 11:31 Сейчас в теме
(56)
1. "Регистр остатков может называться совсем не как в УТ..." Ужас! Что делать, никто не знает ))) Вам самому не смешно?
2. Положит или не положит сервер запрос без использования виртуальных таблиц, это надо конкретно смотреть. Серверы сейчас шустрые. Но здесь я с вами соглашусь. Эту проблему надо решить. Технически это не сложно. Просто переносим из ГДЕ в скобки.
3. Поиск на равно работает. Повторюсь, все запросы были реально проверены
58. starik-2005 3087 17.01.23 11:36 Сейчас в теме
(57) Ну расскажите Вы уже человеку, что имена таблиц чатГПТ не из космоса берет )))
А по поводу запросов, то не на столько тупая эта штука. Поумнее оптимизатора скульного будет точно.
https://towardsdatascience.com/can-chatgpt-write-better-sql-than-a-data-analyst-f079518efab2
Судя по статье, кожаные мешки пока умнее. Но им осталось недолго )))
support_mbk; +1 Ответить
61. AllexSoft 17.01.23 11:48 Сейчас в теме
(58) я это понимаю, в статье есть мельком про это, что готовится контекст к вопросу... как он готовится вот где секрет ) жаль обработки нет для скачивания, что бы понять самому. Я к чему это, там подготовка контекста вопроса на данном этапе может быть (и скорее всего так и есть) сложнее чем написание самого запроса. Представьте какой надо контекст для запроса в ЗУПе каких ни будь стажей... Поэтому это только "демо" а не реальная жизнь, реальная жизнь сильно сложнее.
62. starik-2005 3087 17.01.23 11:55 Сейчас в теме
(61) Ну так и к любому отчету, который делает программист, нужен контекст. Фактически программисту говорят, что и откуда нужно вытащить (иногда даже программист это знает, но это редкий случай). Если я правильно понимаю, то контекст можно определить в виде четких указаний таблиц и полей, с указанием ролей этих таблиц и полей, а можно и в виде разговора, что вот тут у нас остатки хранятся, а тут вот резервы под обесценение. А электронному буху в некотором не сильно отдаленном будущем будет проще куда все это чатГПТ объяснить, чем мешку с костями.
66. AllexSoft 17.01.23 13:47 Сейчас в теме
(62) так ценность разработчика в том что он может слабо структурированный запрос без контекста в формате "выведи остатки по резцам в таблицу на экран и пусть она печатается на принтере" наполнить контекстом, откуда получить (из какого регистра\ов, из каких полей, какие будут типы данных на выходе и входе) - вот эту задачу ИИ не решает в данном моменте, а ведь это ключевой момент... его ну никак не перепрыгнуть в реальных задачах. Для ИИ сейчас задача должна звучать как: "Сформируй остатки по группе товаров резец (контекст РН ТоварыОрганизаций +ТоварыНаСкладах с измерением склад\номенклатура - ресурс Количество из РН товары организаций), пусть таблица выводится в табличный документ, он отобразится на экране и будет кнопка печатать на принтере". Это как бы 2 разных задачи... Условный бухгалтер вот второе никак не сформулирует, он сам не знает и не понимает и не должен понимать контекста, у него другие задачи в бизнесе. У нас разработчику никто не говорит что откуда вытащить надо например, никто кроме разработчиков внутренности конфигурации не знает...
79. alex_sayan 51 17.01.23 15:58 Сейчас в теме
(62)
Фактически программисту говорят, что и откуда нужно вытащить (иногда даже программист это знает, но это редкий случай).


В большинстве случаев программист изобретатель-исследователь, даже при наличии готового ТЗ
crismar24; +1 Ответить
63. mkalimulin 1230 17.01.23 11:57 Сейчас в теме
(61) Обработка вам не поможет. У меня там обращение к тестовому серверу и все.
Подготовка запроса и постобработка ответа делаются на сервере и не на языке 1С.
Но это не мешает вам экспериментировать самостоятельно. Всю информацию я вам дал. Вам следует только понять, что с языковой моделью все не то чтобы просто, а прямо очень просто. Опишите ей таблицу остатков на русском языке как вам больше нравится и получайте тексты запросов в ответ на вопросы. Все
64. starik-2005 3087 17.01.23 11:58 Сейчас в теме
(63)
Опишите ей таблицу остатков на русском языке как вам больше нравится и получайте тексты запросов в ответ на вопросы. Все
Это очень сложно понимается, т.к. слишком просто звучит ))) Мозг еще не адаптировался...
crismar24; +1 Ответить
65. AllexSoft 17.01.23 13:34 Сейчас в теме
(63)
тестовому серверу и все.
Подготовка запроса и постобработка ответа делаются на сервере и не на языке 1С

а можете вот эту часть раскрыть? она больше всего и интересна... а то что в ChatGPT можно запросы слать и получать осмысленные ответы (в данном случае запросы на языке 1с) ну это лично для меня не новость...
67. mkalimulin 1230 17.01.23 13:54 Сейчас в теме
(65)
1. Отправил запрос языковой модели (структура данных + вопрос от пользователя как есть)
2. Получил в ответ текст запроса (чистый SQL)
3. Перевел текст запроса в 1С.

Все шаги очевидны, просто лежат на поверхности. Я не совсем понимаю, какие тут могут быть вопросы у специалиста?
Если вам до сих пор не понятно, как получается результат, тогда ждите доступ к тестовой площадке.
Единственный момент, о котором не говорится прямо в статье, но говорится здесь, в комментариях, это то, что обращаться лучше все-таки не к чату. У чата несколько другое предназначение
68. AllexSoft 17.01.23 13:57 Сейчас в теме
(67)
Отправил запрос языковой модели (структура данных +

вот только это не понятно... как вы отправляете структуру данных (в каком формате)? как там указываются связи данных и тд..? Можете пример полного запроса что пуляете в ИИ для примера привести?.. вместо тысячи слов так сказать)
остальное все понятно..
69. mkalimulin 1230 17.01.23 14:01 Сейчас в теме
(68) Вот пример с сайта OpenAI

### Postgres SQL tables, with their properties:
#
# Employee(id, name, department_id)
# Department(id, name, address)
# Salary_Payments(id, employee_id, amount, date)
#
### A query to list the names of the departments which employed more than 10 employees in the last 3 months
SELECT

Первые две строки можно не указывать. Результат от этого не изменится

Там же пример request

curl https://api.openai.com/v1/completions \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-d '{
"model": "code-davinci-002",
"prompt": "### Postgres SQL tables, with their properties:\n#\n# Employee(id, name, department_id)\n# Department(id, name, address)\n# Salary_Payments(id, employee_id, amount, date)\n#\n### A query to list the names of the departments which employed more than 10 employees in the last 3 months\nSELECT",
"temperature": 0,
"max_tokens": 150,
"top_p": 1.0,
"frequency_penalty": 0.0,
"presence_penalty": 0.0,
"stop": ["#", ";"]
}'

Но эксперименты лучше проводить не через API, а на тестовой площадке на сайте
70. AllexSoft 17.01.23 14:09 Сейчас в теме
(69) можно реальный пример полного запроса из ваших примеров? Хочется понять как это выгладит в контексте именно 1С... вы же понимаете что например у регистра есть измерения\ресурсы\реквизиты и например из виртуальной таблицы остатков не получишь данные по реквизитам..
поэтому в 1с просто указание полей как в примере явно недостаточно, нужно еще предназначение как то передавать, тип данных. А еще есть фишка что у нас часть измерений в регистрах называются Договор, а где то Сделка... хотя они ссылаются на один и тот же справочник, просто в процессе развития конфы получилось вот так (уж не знаю почему, но переделать нереально). Как такие данные связать для ИИ...
ПС: как вызывать api это понятно ) я не про это спрашиваю... а именно про контекст 1с, не про справку или документацию, я ее умею читать ))
71. mkalimulin 1230 17.01.23 14:20 Сейчас в теме
(70) Все эти вопросы решаются на этапе перевода чистого SQL в 1С-овский. Что вы хотите, чтобы я вам рассказал? Как работает аналог стрзаменить() в Python? Извините, но нет желания уходить на уровень детского сада
72. AllexSoft 17.01.23 14:22 Сейчас в теме
(71) причем тут SQL ? меня интересует что подаете в параметр "prompt": при вызове API, реальный пример на ваших данных.. не справку... больше ничего. Просто скопируйте что у вас в этом параметре отдается в ИИ и все встанет на свои места )
73. mkalimulin 1230 17.01.23 14:30 Сейчас в теме
(72) Давайте так. Вы сейчас отправитесь в OpenAI раздел SQL Translate. Поэкспериментируете там, позадаете вопросы, которые обозначены в статье. Я думаю, что вы хороший специалист, и после того, как вы начнете экспериментировать, все ваши нынешние вопросы отпадут.
75. AllexSoft 17.01.23 14:38 Сейчас в теме
(73) я просто думал вы статью писали что бы поделиться опытом с общественностью, а не "смотрите я тут классную обработку написал, которую я вам еще и не дам пока что". Отстал в общем... со статьей явно поспешили на мой взгляд, если не готовы делиться ничем.
d4rkmesa; +1 Ответить
60. AllexSoft 17.01.23 11:44 Сейчас в теме
(57)
1. Да все понятно что делать, у вас там про контекст запроса в нейросеть написано в публикации буквально пару строк, а это очень важно.. собственно в этом самая большая изюминка описываемой модели, что она может выдавать результаты в контексте. Как вы готовите этот контекст - самое интересное. Если он готовится универсально для любых конфигураций - то окей, вопрос снимается.
2. Вот поэтому это пока демо-технология не более того, потому что для реального применения запрос нужно допиливать, и универсальным алгоритмом любые запросы не допилишь, увы... это задача для нейросети (обучение на данных от 1С).
3. Попробуйте написать запрос в нейросетку "остаток товара 120404 на складе" где искомый товар: Пластина для точения CNMG120404-MA VP15. Разумеется никто в реальной жизни полное наименование таких товаров не знает ) и это совсем простой пример... Я просто знаю допустим какая номенклатура используется в строительстве, там как бы в 150 символов ограничения наименования справочника номенклатуры легко можно упереться)
59. sapervodichka 6912 17.01.23 11:43 Сейчас в теме
=)
Прикрепленные файлы:
Alfn; shard; JohnyDeath; Stref75; terrorion; mikki_1C; Tavalik; rintik; Darklight; AllexSoft; bprogs; +11 Ответить
74. Darklight 33 17.01.23 14:37 Сейчас в теме
Было бы отличным подспорьем в качестве встроенного инструмента помощи программистам и аналитикам - будь встроенным подобный сервис в 1С Предприятие, постоянно до настраиваемый и шлифуемый - со временем его код стал бы очень даже хорошим. Понятно что на любой автмат найдётся свой гуру который скажет что это всё ужастно и за день другой налабает что-то немного более оптимизированное. Вот только таких гуру не так много и в доступности они далеко не для всех команд, пишущих запросы. Так что у такого сервиса реально есть практическое будущее.

И не думаю, что такой сервис реально имеет шансы подвинуть программистов. Хотя, в ряде случае с очень большими штатами программистов или в небольших компаниях, практически работающих на готовых сторонних решениях - это может привести к некоторому сокращения штата. Но это всё будет капля в море - в среднем в ближайшие как минимум десятилетия (а то и столетия) ещё будет ожидаться средний рост спроса на программистов (может даже порой весьма бурный) практически во всех областях (даже если не учитывать в расчёте среднего стремительно растущий спрос на программистов для машинного обучения и нейросетей, который и далее будет стремительно ускораться).

Но говоря про автогенерацию запросов. Всё же, лично я больше склоняюсь к идее применения данных пдходов наряду с декларативным программированием - когда программист или аналитик будут задавать всё-таки исходную формализованную программу как декларацию строгих требований в специальном синтаксисе описания - а уже его будет обрабатывать ИИ и генерировать инструкции к выполнению (считаю что в идеале результат даже не надо показывать программисту, ведь не анализирует и не исправляет же сейчас программист опкоды после генерации из языка 1С - а зря - ибо 1С Предприятие там вообще почти ничего не оптимизирует). ИИ сам долен себя же и анализировать, в т.ч. статистически перепроверять код на тестовых, реальных данных - как сразу, так и со временем автоматически перепроверять. И генерировать сразу целые наборы вариантов исполнения - статистически подбирая наиболее оптимальный под конкретные условия эксплуатации.
А программист может его только направлять в нужное русло - для этого и нужна более формализованная постановка задачи в виде специального синтаксиса - декларативного языка - это упрсотит работу ИИ, сделав её более конкретизированной.

Ну и, заодно, такой подход должен повысить уровень абстракции такой декларативной постановки. Чтобы она была как можно более универсальной, и подхватывала, условно все настройки из библиотеки конфигурации - собирая готовое решения из целого набора абстракций и конкретных настроенных профилей, учитывала все, условно функциональны опции. А уже ИИ будет генерировать итоговый полностью собранный код алгоритма.

Ну а для периодического контроля можно будет лишь изредка обращаться к гуру - которые проанализируют логи, прогонят аналитические тесты, заглянут под капот сгенерированного кода, который тоже проанализируют при помощи специализированных инструментов разбора такого "машинного" кода - и составят отчёт - где есть узкие места, и какие правки нужно внести либо в настройки ИИ-генератора кода, либо в исходные декларативные инструкции, либо во всю архитектуру системы - логическую (на уровне метаданных) или физическую (на уровне СУБД). Но - это уже всё особый случай - требующийся только для экстремальной производительности (ну или просто для самоуспокоения - с редкой периодичностью).

В остальном - ИИ вполне себе будет генерировать качественный код - не в ближайшие лет 10 так через 100 лет - он этому научится на уровне не хуже среднестатистического профессионального программиста. Да и итоговый код в итоге у программ станет куда сложнее чем сейчас, и будет его на несколько порядков больше. Люди попросту уже не справятся с таким объёмом. А больше кода - выше функциональность - выше конкурентоспособность!
76. AllexSoft 17.01.23 14:44 Сейчас в теме
(74) один вопрос - откуда возьмутся "гуру" в эру ИИ, если любой зеленый падаван будет писать программы не зная как программировать) Вот не видел ни одного гуру который бы не прошел всех этапов джун - мидл - сеньер
77. Darklight 33 17.01.23 14:56 Сейчас в теме
(76)Ну... вот сейчас же есть и Питон, и Жава, и Хаскель, и ML, но всё-равно есть люди, кому интересны Ассемблер, Си, Ил, ЛЛВМ - ведь всех программистов не гребут под одну гребёнку - кому это декларативные ЯП покажется слишком примитивным и он сам начнёт копаться глубже. кого-то начнут заранее натаскивать. Ведь ранее в ИТ все были программистами (изначально чисто на перфокартах или даже на переключателях; а до этого они были выходцами из математиков или радиолюбителей) - а потом из них пошли отпочковываться разные хтмал-дизайнеры, дата-"сатанисты", разработчики нейросетей, и т.д. т.п. - людям свойственно искать свои пути в развитии, особенно когда на эти пути есть спрос и хороший заработок!

Я же не ратую против программирования - я лишь за его развитие - в виде ещё одной прослойки!

Можно стать крутым программистом или аналитиком или бизнесархитнектором - но не разбираться в тонкостях работы опкодов/машинных кодов и компиляции.
А можно не особо смыслить в бизнес-процессах (и логике запросов) - но хорошо разбираться в том, запросы SQL выполняются в той или иной СУБД и как её настраивать что-бы увеличить их скорость.
Безусловно базовые познания об обоих концах нужны всем - но углубляться практично будет только в одну область (ну или балансировать где-то посередине). Тут спрос будет определять потребность в тех или иных кадрах
101. d4rkmesa 01.02.23 20:33 Сейчас в теме
(76) Судя по Ютуб и обилию 22-летних сеньоров, прохождение всех этапов происходит как то запоем. )
82. vitek1 19.01.23 16:44 Сейчас в теме
А можно получить обработку, чтобы у себя потестить?
83. mkalimulin 1230 19.01.23 18:13 Сейчас в теме
(82) Обработка будет выложена чуть позже, когда будет решена проблема корректной работы со временем. Но имейте ввиду, что это будет скорее пользовательский инструмент. Внутри там ничего интересного не будет. Обращение к моему тестовому серверу, получение в ответ текста запроса и выполнение запроса.
Если вас интересуют вопросы непосредственного взаимодействия с языковой моделью, тогда вы можете начать тестирование самостоятельно, не дожидаясь обработки. На сайте OpenAI есть возможность генерировать SQL запросы в тестовом режиме
84. serg_gres 154 20.01.23 16:19 Сейчас в теме
Нейросеть не выдает четкого, однозначного и правильного ответа,
а только какую-то вероятность такого правильного ответа.
Поэтому в учетных системах, применение нейросетей будет скорее точечным и только в определенных областях,
потому что едва ли владелец организации захочет на вопрос "Какая прибыль организации за прошлый год ?",
услышать какой-то ответ, который может быть верным, а может и не быть...
А уж как будет налоговая рада суммам налогов в отчетности, которую сгенерировала нейросеть...
88. Alixir 21.01.23 22:05 Сейчас в теме
(84) АИ никогда не даст того уровня однозначности интерпретируемой информации к БД, который необходим при работе простых пользователей. Один спросит так, другой по другому. Причем здесь возникают те же задачи различения данных по наименованию, отличающемуся одной буквой, точкой или пробелом. Плюс необходимость описывать складские, временные, товарные различия, на что уйдет гораздо больше времени чем просто открыть готовый сохраненный отчет и получить данные. Думаю на этом уровне АИ бессилен чем то помочь. Я общался с GPT на эту тему, он признал сам проблему). Да как вариант для прогов и аналитиков пойдет при написании отчета и кода. Как для пользователя бесполезная фигня.. Может где то в BI поможет, но там те же самые проблемы однозначности получаемых данных возникнут.
serg_gres; +1 Ответить
89. mkalimulin 1230 21.01.23 23:00 Сейчас в теме
(88) Но статья как раз о том, что как бы вы ни спросили об остатке на складе, какими бы словами ни выразились, языковая модель выдаст вам правильный ответ. Вы бы лучше попробовали сами.
Да, и с GPT не надо общаться. Не забывайте, что это не существо, а всего лишь результат поиска того, что было сказано в интернете людьми
90. Alixir 22.01.23 00:12 Сейчас в теме
(89) Вы не до конца понимаете масштаб проблемы. Помимо того что спросить нужно про товар, например Ботинки белые женские осень зима код (артикул 3465622 или может быть в названии код) причем код меняется от цвета, сезона и размера и то, что менеджеры его никогда не помнят. Они заходят в номенклатуру из документа и ищут по названию, выпадает целый список, потом пролистыванием выбирают конкретный товар допустим из 30 похожих с кодом единиц в подбор. И так набирают накладную из 1000 наименований. С GPT они ее будут делать неделю. Тоже самое и с отчетами.
Про существо это вы смешно придумали. Вы пообщайтесь, посмотрите что оно вам ответит про базы данных и какую роль оно видит в них. Там все более чем логично.
91. forestfield 22.01.23 20:40 Сейчас в теме
(84) Важна воспроизводимость результата и, желательно, возможность понять алгоритм его получения. Проблема даже не в том, что результат неправильный, это можно было бы исправить, будь у нас понятный алгоритм. Проблема в том, что сегодня результат один, а завтра, когда нейросеть дообучилась или что-то поменяли в ее настройках, - другой. И мы не можем понять, почему.

Поэтому применение нейросетей так и останется ограниченным. В частности задача машинного перевода, которую вот уже лет пятьдесят решают, ими не будет решена. Не говоря уже о программировании.

Есть области. где воспроизводимость не важна. Скажем, дизайн. Отсюда популярность генеративных нейросетей для доработки изображений. Но там другая проблема, всякое творчество осуществляется в культурном контексте. Который нейрость может лишь вторично иммитировать, как Ван Гога например.

В целом то, что Вы видите столько смысла в работе нейросетей, это скорее не их заслуга (хотя это конечно сложные и во многом полезные алгоритмы), а Ваша. Мы так устроены, что можем находить смысл в том числе и там, где его нет и никогда не было. В гороскопах, в катренах Нострадамуса. То же самое с результатами нейросетей.
92. mkalimulin 1230 22.01.23 21:54 Сейчас в теме
(91) Смотря что понимать под воспроизводимостью. Я вам написал в статье, что языковая модель владеет языком (внезапно так). Она вас понимает. И это воспроизводимо. Как бы вы не выразились насчет остатков на складе, она понимает, что вам нужны именно остатки, а не продажи или взаиморасчеты. Остальное дело техники
93. forestfield 23.01.23 02:22 Сейчас в теме
(92) Алгоритм не может "понимать", не надо мистики. Это просто алгоритм или модель, если мы говорим в терминах машинного обучения. Вы задаете независимые переменные, модель выдает значение зависимых переменных. Она качественно ровно ничем не отличается от линейной регрессии.

Проблема в том, что сегодня у Вас будет одно значение зависимых переменных, один результат, в Вашем случае - запрос, а завтра может быть другой результат. А независимые переменные при этом одни и те же.

Может быть результат будет почти такой же. А может быть будет существенно отличаться. Может быть он и останется прежним. Но Вы никогда не будете знать логику этих изменений. Хотя причина будет очевидна - нейросеть дообучили и/или поменяли какое-то количество из миллионов параметров.

Вы можете поступить, как люди поступают с 7.7. Один раз настроили, выдает нужный результат на контрольном наборе примеров. И все, не обновляем. Но это тоже некий тупик в стратегическом плане. Время идет, технология устаревает. И для этого алгоритм должен быть полностью на вашем железе.
John_Davidson; +1 Ответить
94. mkalimulin 1230 23.01.23 08:26 Сейчас в теме
(93) Не соглашусь с вами. Если уж на то пошло, то в ваших рассуждениях "мистики" гораздо больше. По вашему вы задали вопрос, а в ответ получили текст запроса. Да, внешне это так и выглядит. Но надо понимать, что внутри. А внутри языковая модель обрабатывает ваш вопрос и находит наиболее подходящий ему контекст. В нашем случае, если сильно упростить, находит ту самую страничку в StackOverflow, где люди обсуждают, как получить остатки на складе запросом. И уже оттуда к нам прилетает текст запроса. Далее можно добиваться того, чтобы модель находила контекст все более и более точнее. Но статья как раз о том, что в рассматриваемой мной области модель УЖЕ чрезвычайно точна. Посмотрите сами
85. mkalimulin 1230 20.01.23 16:33 Сейчас в теме
Тут как с хеш-суммами. 32 байта могут повториться для двух разных источников, но... Количество всех возможных вариантов этих 32 байтов сравнимо с количеством атомов в наблюдаемой вселенной. Поэтому хеш-суммы используют в криптографии без проблем.
Правильность ответов языковой модели зависит от того, сколько люди "наколотили" в контексте вашего вопроса. В области учета "наколотили" столько, что ответы нейросети почти идеальны. И потом, что значит неправильный ответ в нашем случае? Неправильный запрос? Неправильный запрос просто не отработает. И тогда пользователь просто переспросит другими словами. В обычном общении так и делают и никто не страдает: "а что будет, если меня неправильно поймут"
86. ser6702 174 21.01.23 21:26 Сейчас в теме
Если "ветку" модели GPT3 обучить структуре и логике учетной системы, то мы получим возможность обращаться к учетной системе на естественном языке.
Она просто будет знать ее так же как разработчики.
87. mkalimulin 1230 21.01.23 21:41 Сейчас в теме
(86) Обучение модели процесс чрезвычайно затратный. Проще пользоваться уже готовыми результатами обучения
99. PowerBoy 3416 30.01.23 10:25 Сейчас в теме
(86) А можно перед вопросом к GPT "скормить" весь текст модулей текущей конфигурации, что бы настроить текущий контекст вопроса?
100. mkalimulin 1230 30.01.23 11:09 Сейчас в теме
(99) В этом нет смысла. Запрос формируется на основе структуры таблиц.
Вообще, генеративная модель работает не так. От того, что вы зададите ей супердлинный вопрос, она лучше не отработает
Оставьте свое сообщение