LLM + 1С: почему чат-бот для учёта — плохая идея и как реализовать AI-шлюз через OData
- Голосовой ввод транскрибировался в текст отдельным модулем на Java с библиотекой Vosk; далее текст конвертировался в OData-запросы.
- Использовались локальные языковые модели, запущенные через Ollama: Llama 3.1 (8B) как рабочая модель и Mistral Small (24B) для проверки гипотез.
- Для поиска по метаданным применялся RAG: локальная векторизация mxbai-embed-large и векторная БД PostgreSQL с расширением pgvector.
- В ходе тестов автор столкнулся с тем, что модели могут игнорировать вызов инструментов и выдавать нерелевантные ответы, а также искажать результат на этапе генерации текста.
- Финальное решение — универсальный инструмент запроса к 1С, который возвращает пользователю сырой JSON напрямую; после этого отпала необходимость в тяжёлой модели и сервере под RTX 4090.
Почему это важно: В статье показано, что модель способна исказить даже корректно полученные данные, когда формирует человеческий ответ. Для учётных систем критична точность реквизитов и сумм, и «почти правильный» результат становится операционным риском. Поэтому подход, где LLM помогает ориентироваться в структуре данных, а факты возвращаются напрямую из источника, выглядит более устойчивым.
На что обратить внимание: Автор явно ограничивает сценарий закрытым контуром и локальными моделями, что важно для систем, где внешние облачные API недопустимы. В финальной схеме LLM выбирает сущность и параметры фильтрации, а выдача данных идёт напрямую через returnDirect = true, чтобы исключить «испорченный телефон» генерации. Также упоминается слой обогащения контекста полей, который сейчас закомментирован и оставлен как задел для будущей более сложной фильтрации.
Читайте также
Тестовый стенд с автономным ИИ-агентом QA для тестирования бэкенда: концепция и пример
Агентные системы для продакшена
ИИ для PHP-разработчиков: практика без Python и науки о данных
Claude Code изнутри: как устроены ИИ-агенты для разработки
ИИ и RAG: помощник по техническим вопросам для систем управления освещением
- Паттерн 'AI-шлюз': LLM как навигатор, данные — напрямую из источника: Когда LLM используется для учётных и любых 'строгих' данных, риск возникает не на этапе получения данных, а на этапе их пересказа: модель может исказить даже корректный JSON, добавив или изменив реквизиты. Архитектурный выход — разделение ролей: LLM определяет сущность и параметры запроса, а фактические данные возвращаются напрямую из системы через API, без генеративного пересказа.
[Архитектура]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться
Автор описывает эксперимент с чат-ботом для запросов к 1С по OData на базе локальных LLM. В итоге проект переехал в формат AI-шлюза: модель подбирает параметры запроса, а пользователю возвращаются данные 1С без пересказа.