Локальная LLM на встроенном языке 1С: открытый код и принцип работы языковой модели
Разработка - Инструментарий разработчика
Бесплатные
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Узнавайте о новых бесплатных решениях в нашей телеграм-группе Инфостарт БЕСПЛАТНО
Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Внешняя обработка, внутри которой работает настоящий трансформер, посчитанный с нуля на встроенном языке. Ни внешних компонент, ни ONNX, ни Native API, ни единого HTTP-запроса наружу. Только Массив, БуферДвоичныхДанных, Соответствие и циклы.
В версии 2.0 модель не только отвечает, но и учится прямо в форме, на встроенном языке: нажимаете "Обучить" и смотрите, как шаг за шагом падает потеря и как из каши букв проступают слова. Прикладной пользы у обработки нет и не подразумевается, её работа - показать открытым кодом, как языковая модель устроена и как она учится. Платной версии не существует, это всё целиком и с исходниками.
Как модель устроена внутри и почему в трансформере нет ни одного условия - в статье Внутри LLM нет ни одного Если. Языковая модель целиком на встроенном языке 1С. Как она учится прямо в 1С, по шагам и с кодом обучения - в статье Как учится нейросеть: обучил модель прямо на сервере 1С за три часа.
Что нового в версии 2.0
- Закладка "Обучение": обучить указанное число шагов, индикатор и строка хода, кривая потерь по шагам, "Остановить" и продолжение с того же шага, "Начать заново";
- два набора весов на выбор: обученные на Python в августе и обученные прямо в 1С в октябре, переключатель "Веса" на первой закладке;
- обучение на своём тексте: пары "вопрос? ответ." построчно вместо сорока фраз обработки;
- сохранение весов в файл и загрузка обратно;
- справка "Как это учится" прямо в форме, словами 1С-ника;
- числа печатаются с разделителем разрядов:
21 920вместо прежнего21920.
Закладка "Спросить модель"
"Спросить" - полный ответ. Модель предсказывает один символ, подставляет его обратно на вход и предсказывает следующий, пока ответ не закончится. Под ответом отчёт: сколько символов, сколько умножений, сколько секунд.
"Какая буква следующая" - один проход модели. Показывает вероятности всех 36 символов алфавита столбиком, с процентами и полосками. Здесь видно главное: модель не выбирает букву, она считает распределение, а выбор делает код снаружи.
"Что внутри" - алфавит, разбор введённого текста в номера токенов и устройство модели цифрами.
"Температура" управляет тем самым выбором снаружи. При 0 ответ повторяется слово в слово, при 3 видна конкуренция вариантов, при 5 текст распадается.
"Веса" - какую модель спрашивать. Архитектура одна и та же, отличаются только числа внутри:
- обученные в 1С (октябрь 2026), по умолчанию: 800 шагов на встроенном языке, 2,96 часа счёта;
- обученные на Python (август 2026): те веса, что стояли в версии 1.0.
Оба набора знают 38 фраз из 40 и ошибаются на разных вопросах: веса 1С путаются на "где хранятся права", веса Python на "как ограничить доступ". Это хорошо видно, если задать один вопрос двум моделям по очереди.
Закладка "Обучение"
Модель учится с нуля на сорока фразах обработки, с тех же стартовых весов и в том же порядке пар, что ночной прогон, из которого получились веса 1С. Поэтому первые шаги в форме дают ровно те потери, что записаны в журнале того прогона.
- "Обучить" делает указанное в поле "Шагов" число шагов, по умолчанию 20. Между шагами обновляются индикатор, строка "шаг, потеря, осталось" и кривая потерь. Повторное "Обучить" продолжает с того шага, где остановились;
- "Остановить" срабатывает после текущего шага, накопленное не теряется;
- "Начать заново" выбрасывает обучение и возвращает стартовые веса;
- "Спросить обученную" задаёт вопрос модели этой закладки в любой момент обучения;
- "Сохранить веса в файл" и "Загрузить веса" - файл в том же формате, в котором веса лежат внутри обработки, около 25 КБ;
- "Свой текст" - поле для своих пар: одна строка "вопрос? ответ.", разделитель - первый знак вопроса, строки без него пропускаются. Алфавит берётся из вашего текста, стартовые веса случайные. Пустое поле - учим на сорока фразах обработки;
- "Как это учится" внизу закладки - семь фраз о том, что такое веса, шаг, потеря, обратный проход и градиент, что делает Adam и почему внутри нет ни одного правила языка.
Сколько это занимает
Обучение на встроенном языке медленное, и честнее сказать это заранее:
- один шаг - около 12 секунд. Всё это время окно не отвечает: считается пачка из двух фраз. Фоновое задание из внешней обработки без БСП не запустить, поэтому шаги идут по одному, а форма обновляется между ними;
- 20 шагов - около 4 минут. Потеря падает с 3,75 до 2,66, модель выучила частые буквы, но ещё не слова;
- слова корпуса появляются к 200-му шагу, ответы целиком - к 800-му;
- весь корпус, 800 шагов - около 3 часов. Ночной прогон, из которого взяты веса 1С, занял 2,96 часа счёта.
Чтобы увидеть механику, хватает 20 шагов. Полный прогон имеет смысл оставить на ночь.
Чего эта модель не может
- Знаний о мире там нет физически. 21 920 параметров хватает ровно на то, чтобы запомнить сорок фраз про объекты 1С и подставлять их по началу вопроса;
- алфавит 36 символов: строчные русские буквы, пробел, точка, двоеточие и знак вопроса. Цифр, латиницы и заглавных букв модель не видит;
- на вопрос вне обучения она отвечает бессмыслицей с той же уверенностью. Спросите про котлеты - получите набор слов про документы. Сказать "не знаю" модель не умеет, продолжать последовательность она обязана всегда;
- на своём тексте она только запоминает. Свои пары модель повторит дословно, на вопрос не из текста ответит кашей;
- это стенд для объяснения механики, в прод его ставить некуда.
Если нужна работающая локальная модель под реальную задачу - классификация обращений, поиск похожей номенклатуры, извлечение сущностей - путь другой: ru-e5-small через ONNX Runtime во внешней компоненте. Это в сотни раз быстрее, но уже не чистый BSL.
Совместимость и запуск
- Платформа 8.3.27.1606 и выше, управляемые формы, тонкий клиент.
- Любая конфигурация. Обработка не обращается ни к одному прикладному объекту, ни к базе, ни к СУБД, она только считает арифметику в памяти.
- Ничего не отправляет наружу. Интернет не нужен, никаких сервисов и ключей.
- Запуск: "Файл" - "Открыть" - выбрать
.epf. Дальше вопрос в поле и кнопка. Ни настроек, ни установки, ни регистрации в базе.
Что в файле
Одна внешняя обработка версии 2.0: модель на 21 920 параметров, оба набора весов и стартовые веса для обучения лежат макетами внутри, рядом класть ничего не нужно. Код открыт и читается в конфигураторе: модель и обучение живут в модуле объекта, форма только зовёт его методы.
Вторым файлом в карточке остаётся версия 1.0 с моделью вчетверо крупнее, 76 608 параметров: она только отвечает, закладки обучения в ней нет.
Другие наши инструменты:
- Выгрузка метаданных для LLM - структура вашей конфигурации в виде, который нейросеть читает без пересказа, чтобы она не выдумывала реквизиты.
- Чек-ап СУБД под 1С - проверка настроек сервера баз данных, на которых 1С теряет скорость.
- Карта объёмов базы 1С - какие таблицы и объекты занимают место в базе.
- Аудит паролей СУБД - где пароль к серверу баз данных лежит открыто.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.101.19
- Управление торговлей, редакция 11, релизы 11.5.22.67
Вступайте в нашу телеграмм-группу Инфостарт