Как стать автором
Обновить

Комментарии 86

Относительно названия статьи: По контексту статьи было бы лучше:
«Мы понимаем практически всё...». Но так как выходом модели является json, а не созданные бизнес-объекты в 1С, то стоит добавить «, но сказать пока не можем».

А когда ИИ сможет решить такую вот тривиальную задачу: "Сделай и отправь документы в ооо "рога". Далее суть: такие-то работы и услуги или такие то товары. Результат - договор, акт, счёт с отправкой по Эдо и почте?

Так?

"Алиса, напиши смс Петровой, чтобы отправила договор и счёт в Рога"

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

1С умеет работать и с ЭДО и с почтой уже давно. Здесь я вам показал как структурировать входящий поток (будь то изображение, аудио или письменная речь, в других моих статьях можете прочитать про голосовой ввод).

Соединяете первое и второе, и получаете то, что вы спросили

1С умеет работать и с ЭДО и с почтой уже давно.

Вот когда оно научится работать с УДО...

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

Имеет смысл потратить еще немного времени и разобраться в теме поглубже. Начните, например, с температуры. Потом вызовы функций и формат ответа. Статья ведь ровно об этом. Как получать четкие ответы от LLM

Имеет смысл потратить ещё немного времени и разобраться в теме поглубже - и написать статью на хабр нормально. Начните, например, с температуры.

У меня телефон уже 2 года без проблем распознает текст с фотографий, даже рукописный.

Но согласитесь, ведь есть разница между преобразованием поток-поток и поток-структура

Нету. Если распознавание удалось, т.е. все сущности идентифицированы, то все остальное, как вы сами же выразились выше, задача тривиальная.

Нет, не тривиальная. У вас на входе был текст в виде изображения и на выходе вы получили текст в виде текста. Ну и что? До структуры тут еще очень далеко

ИИ распознал текст в виде "параметр = значение" и выдал данные с картинки в структуре по вашему шаблону.
Требуется пояснение, в чем тут новизна.

А также пояснение зачем распознавать формализованные электронные документы УПД (имеющие исходный XML или XLS)?

Идем глубже, зачем распознавать УПД, если маркировка и прослеживаемость скоро покроет все от станков до носков, и документы в этом случае ходят через электронный документооборот?

Пока статья на уровне "смотрите как я умею".

Согласен, что распознавание УПД с "бумаги" - это довольно нишевая история. Просто цель статьи - учебная. И, да, это в первую очередь "смотрите, как это делается". УПД я взял потому, что это близко 1С-никам. Разумеется, у технологии есть и более интересные применения. О них я тоже планирую рассказать

У меня сработал следующий промт:

На основании печатной формы на картинке сгенери программный код 1С создания документа следующей структуры:

Док.Номер = "..."; // возьми с картинки
Док.Дата = "...";
Док.Поставщик = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", "...");
//далее для каждой строки
СтрокаТовара = Док.Товары.Добавить();
СтрокаТовара = Справочники.Номенклатура.НайтиПоРеквизиту("Код", "...");
СтрокаТовара.Количество = Число("...");
СтрокаТовара.Цена = Число("...");
СтрокаТовара.Сумма = Число("...");

Ответ ChatGPT 4-o:

// Создание документа
Док = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();
Док.Номер = "82"; // номер документа
Док.Дата = "30.09.2017"; // дата документа
Док.Поставщик = Справочники.Контрагенты.НайтиПоРеквизиту("ИНН", "9999115007");
// Добавление первой строки товара
СтрокаТовара = Док.Товары.Добавить();
СтрокаТовара = Справочники.Номенклатура.НайтиПоРеквизиту("Код", "B-789"); СтрокаТовара.Количество = Число("2");
СтрокаТовара.Цена = Число("1423.73");
СтрокаТовара.Сумма = Число("2847.46");

// и так далее для каждой строки

То есть можно генерить не json, а сразу программный код, который останется только отправить в Выполнить()

Ну, да. В принципе, можно. Только Выполнить() не везде применимо. Те, кто пользуются облачными сервисами 1С, будут в затруднении.

Немного смущает отправка потенциально конфиденциальных данных по api моделей неведомо куда. Что на это скажут ИБ и юристы? Или есть локально развернутые варианты моделей?

По ЭДО данные тоже уходят неведомо куда. Но если очень нужно, то локально развернуть можно. Просто цена вопроса такова, что практически любой здравомыслящий менеджер, услышав ее, скажет: да фиг с ней. В двух вариантах: фиг с ней с безопасностью или фиг с ней с технологией. Причем, на мой взгляд, первый вариант более правильный. Ну кому там эта ваша УПД нужна? Она промелькнет на сервере провайдера и будет уничтожена. Там еще сотни тысяч таких же в очереди стоят. В конце концов, все пользуются телефонной связью, а ведь ее можно прослушать

Роскомнадзору на его запрос, почему у вас документация утекает, также будете отвечать? ЭДО идет по зашифрованному каналу с применением криптографических средств, разрешенных в РФ, а тут сливаете информацию на американские серверы. Плюс попадаете в зависимость от иностранного API. Дело ваше, но 15 миллионов штрафа на юрлицо это реальность. Понятно, что типа "и так документы все по почте отправляют электронной и пофиг", но это до поры. Те же системы корпоративные по распознаванию документации обязаны иметь сертификацию почему то и используют локальные модели внутри своего контура безопасности.

Так можно и в родные Яндекс и Сбер сливать - и пусть с ними разбираются, что у них и как (куда сливает)?

По ЭДО данные тоже уходят неведомо куда.

По ЭДО, даже если документооборот идет не напрямую между контрагентами, а через внешний сервис, данные "утекают" сертифицированным компаниям, зарегламентированным по самое небалуйся. В случае публичных AI они утекают именно что неведомо куда и всплыть могут непонятно как и в какой ситуации. Если вы цветами по интернету торгуете, это может быть не особо важно (хотя и там можно напороться на формальные несоответствия в случае обработки перс. данных, например), а в случае крупной компании уже немного другие оценки.

библиотека искусственного интеллекта для 1С

разве не от самой 1С? или это китайцы с дипсиком подсуетились?
Если от самой 1С - то и вопросы все к ней, разве нет?

Или там можно любую подключить, по своему желанию?

Подключится можно к любому провайдеру, который поддерживается библиотекой (на сегодняшний день это Yandex, Сбер, OpenAI, Antropic, Google, Nvidia, Deepseek и др.)

Зачем использовать искусственного идиота для задачи распознавания документов? OCR будет и быстрее и точнее вытаскивать данные из документов.

Ну приведите пример распознавания УПД FineReader-ом. Сделает он такой же JSON (XML), как у меня? И будет делать стабильно от документа к документу?

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

Можно и на слово. Почему бы вам не поверить человеку с большим опытом? Можно и на спор. Запустим на сотне разных документов (в нормальном разрешении) и проверим

Я всё-таки предпочитаю опираться на доказательства и факты.

Возможно у меня просто профдеформация началась из-за работы в critical-safety, но мне недостаточно сотни документов. Скажем, пару миллионов, если контора из-за ошибки ИИ влетит на большие деньги, это можно было бы уладить с помощью сэкономленных благодаря ИИ денег.

И вот если бы было проделано подобное, составлен подробный отчёт, оформленный в статью, вне зависимости от результатов, никто бы слова не сказал против.

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

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

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

Вы истину не ищете

А призывы вам на слово верить это якобы поиск истины?

Допустим, мы прогнали 1000 документов и получили 1 случайный отказ. Что это будет означать, по вашему?

Прогнать 1000 документов реально. Это будет стоить порядка 20 рублей.

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

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

Спасибо за развернутый ответ!

При внедрении технологий искусственного интеллекта происходит следующее. Вы приходите со своим решением. У вас спрашивают: какая у вас вероятность ошибки? А вы отвечаете: А какая вам нужна? Такую и сделаем.

Допустим у вас ошибка 1 на 100 документов. Вам говорят: нет, нам нужна 1 на 10 000. Хорошо, говорите вы. Стоимость распознавания 100 документов 2 рубля. Будем распознавать каждый документ два раза. В случае несовпадения, будем распознавать в третий раз или отдавать человеку по вашему выбору. Так мы получим 1 к 10 000. Стоимость тогда будет 4 рубля на 100 документов. Устроит?

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

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

Ещё вопрос - LLM может выкидывать флаг о трудностях возникших при интерпретации вместе с результатом? По типу "документ существенно отличается от статистических"

По-моему, вы уходите в специфическую область с предположением типа "а если бы он вёз патроны?".

Статья же не об этом.

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

данные да, а вот свойства из документа по переменным раскидать - уже сложнее. Ну и даже OCR в случае не сильно чистого документа - нисколько не усомнится, что ООО "Рога .b./,.vx.vx и копыта" вполне нормальное название, а на нейронку хоть какая-то надежда

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

Вот когда ИИ сможет по видеопотоку "на лету" делать инвентаризацию в магазине/на складе в реальном времени - вот тогда будет польза :)

https://softservebs.com/en/ai-driven-ecosystem/image-recognition-fmcg/

Но это не совсем то, не видно количество товаров в глубину полки, поэтому нельзя посчитать точное количество для инвентаризации.

И сколько в результате наклеивания меток получилось зеленых коробок и сколько красных?

НЛО прилетело и опубликовало эту надпись здесь

Вот только каждый из этих goalposts был поставлен разными людьми.

А мой как стоял одиноко — так и стоит.

Можно, но тогда результат будет "плавать". Чтобы раз за разом получать четкий результат, нужно использовать JSON-схему

У КИС и ИИ та же дилемма, что и у автопилотов в авто: покуда ИИ занимается вспомогательными вещами, где сложно навредить, типа аналитики, отчетиков - использовать ее можно и нужно. Но когда речь о формировании документов, особенно первички, встаёт вопрос: а какова будет конкретная фамилия той проблемы, когда ИИ, скажем, отправит все деньги с р/с в счёт оплаты им же сформированного заказа рогов и копыт в ноунейм-фирму.

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

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

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

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

Это будет фамилия того, кто нажал кнопку. В чем проблема?

Введёте должность зицпредседателя?

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

Это не говоря уже о том, что вы по сути сливаете документы на сторону, на что может очень сильно возбудиться Роскомнадзор. Если что, выдержка из политики конфиденциальности OpenAI

  • Пользовательский контент: Мы собираем Персональные данные, предоставляемые Вами при пользовании нашими Услугами («Контент»), включая ваши запросы и прочий загружаемый Вами контент, такой как файлы, изображения и аудио, в зависимости от используемых функций.

Вы, конечно, извините за грубость, но открывая вашу очередную статью про внедрение ИИ, я всё больше и больше убеждаюсь, что вам нужен хорошенький такой snap back to reality.

У OpenAI есть специальный формат вызовов для получения структурированных данных.

Без этого - такая же проблема что формат порой немного отличается.

Зумеры придумали OCR (Оптическое распознавание символов), которое было реализовано в ABBYY FineReader лет 15 назад, т.е. в древнюю эпоху миллениалов.

Поток -> документ в 1С

Структура -> документ в 1С

Можете оценить разницу?

"А мне... ну это... как... вот одно ванильное, одно клубничное, потом два капучино... а не, не, не надо капучино, два американо"

Прикиньте, как вы это превратите в 1С-овский документ ЗаказПокупателя?

А теперь прикиньте, как вы превратите в документ вот это:

{

"items":[

{"name":"Клубничное мороженое","quantity":1},

{"name":"Ванильное мороженое","quantity":1},

{"name":"Кофе американо","quantity":2}

]

}

Не-а :)

UPD: Вы если что-то дописываете, то было бы неплохо обозначать что добавили, а то вы расписали что подразумеваете под потоком (я вообще на другое подумал), а я теперь как идиот выгляжу, потому что ответил до разъяснений. Кстати, то, что вы описали не спасает от ошибок ИИ ни в коем случае (или будем каждый раз проверять за ним, очень эффективно получится), а в конечном итоге выливается в формализм, кому от этого лучше вопрос хороший.

Древние технологии вроде как умели распознавать форматированные документы.

Они преобразовывали изображение в текст. А дальше надо было писать парсер этого текста

Поправочка: в таблицу, например в Эксель, а там уже стандартный импорт из Экселя в 1С с допиливанием небольшим.

В 18-19 году пользовался adobe finereader для облегчения своей работы. Сканируешь, распознаешь, вставляешь, проверяешь...

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

Понятно, что пример демонстрационный, но, пардон, распознавать из аналога, то что изначально создавалось в цифровом виде... ну так, атмосферу только греть.

Лет 10-15 назад оцифровка документов была прям хайтеком, а сейчас когда везде ЭДО, это уже анахронизм.

Есть современные технологии без всякого AI для представления цифровых данных в аналоговом виде в удобном для массовой обработки формате. Тот же QR код, например.

И Яндекс.Диск тоже давным-давно самостоятельно и без ведома пользователя сканирует все изображения, видео и текстовые документы (PDF, DOC, DOCX и т.д.).

Сканирует во что? Что на выходе?

Ни во что. Распознает с помощью ИИ (очевидно), что изображено на фото, в видео, какой текст написан. Достаточно поработать как следует с поиском по Яндекс.Диску, посмотреть на выдачу в результатах поиска и всё станет ясно :)

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации