RAG, два, три

01.04.25

Интеграция - Нейросети

В библиотеке искусственного интеллекта для 1С появилась поддержка RAG (Retrieval Augmented Generation). Что это такое и как с этим работать, рассказываю в этой статье.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
kolobok.txt
.txt 4,18Kb
19
19 Скачать бесплатно

Для работы вам понадобится Библиотека искусственного интеллекта для 1С.  Она распространяется бесплатно и вы можете использовать ее для создания своих коммерческих продуктов.

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

Представим, что мы хотим давать ответы на вопросы клиентов, задействовав для этого искусственный интеллект. Мы берем большую и умную нейросеть. Ее уже обучили всему, чему надо и она может поддерживать непринужденный разговор. Но вот конкретно про нас она не знает ничего, или почти ничего. Клиент приходит с простым вопросом: какой у вас график работы? Нам нужно сделать что-то, чтобы нейросеть смогла ответить на него. Для этого ее не надо обучать. Можно поступить проще. Добавить ответ в вопрос. Это и будет тем самым augment, т.е. расширением.

Вопрос клиента:

Какой у вас график работы?

Наше расширение:

Мы работаем по будням, с 9:00 до 18:00 

Что получает на вход нейросеть:

Мы работаем по будням, с 9:00 до 18:00 Какой у вас график работы? 

Понятно, что получив такой вопрос, нейросеть даст на него верный ответ. Разумеется, мы не станем ограничивать себя ответом на один-единственный вопрос. В наше расширение мы загрузим вообще все, что посчитаем нужным так или иначе сообщать клиенту: перечень товаров и услуг, порядок работы, инструкции и т.д.

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

Во-первых, есть размер контекста. У разных моделей он разный. У gpt-4o от OpenAI это 128К токенов. У Claude Sonnet 3.7 от Anthropic 200K. У Gemini 2.5 pro от Google 1 миллион токенов и обещают 2 вскорости. Миллион токенов, это достаточно много. Практически "Война и мир" (на английском языке около 700К токенов). Но существует мнение, что с увеличением контекста качество ответов падает. Так что, миллион токенов, это только в теории. На практике и 32К уже многовато. Потому еще, что во-вторых, есть плата за входящие токены. У gpt-4o сейчас 2.5$ за миллион токенов, у Sonnet 3.7 это 3$. Платить по 10 рублей за каждую реплику в диалоге с клиентом может оказаться накладным.

И вот тут возникает идея подмешивать в запрос пользователя не все-все-все, а только то, что имеет отношение к этому запросу. Как определить, что имеет отношение к запросу пользователя? И тут на помощь приходит нейросеть. Она умеет превращать текст в вектор (embedding). Вектор, это много чисел, например 512. А по сути, точка в 512-мерном пространстве. Теперь мы можем разделить наш большой текст, в котором все-все-все, на маленькие части. Для каждой части получим вектор или точку в 512-мерном пространстве. Далее, получив от пользователя запрос, мы и для него рассчитаем точку и определим к какой из ранее рассчитанных точек она ближе всего. Так мы получим ту самую часть большого текста, которую надо добавить в запрос.

Конечно, трудно себе представить 512-мерное пространство, но работает это прекрасно. А еще более прекрасно то, что в Response API от OpenAI (как и в скоропостижно устаревшем Assistant API) вся эта сложная работа с векторной базой скрыта "под капотом". Вы создаете векторную базу одной простой командой, загружаете туда файл или файлы (это не важно, все равно все будет порезано на кусочки неким оптимальным способом). И все готово к работе. Все что нам нужно для того, чтобы заработало "подмешивание", это указать id векторной базы в специально выделенной для этого опции.

 

В библиотеке искусственного интеллекта для 1С, начиная с версии 19, появились функции: СоздатьВекторнуюБазу(), ЗагрузитьФайл(), РазместитьФайл()

 

   

  

В результате мы получаем подготовленную векторную базу с неким id. Этот id мы передаем в опции "vector_store_id" и получаем RAG.

Вы можете самостоятельно поэкспериментировать с этим, пользуясь обработкой БИИ_Пример, которая входит в состав библиотеки.

 

 

 

Файл kolobok.txt, на котором  экспериментировал я, прилагаю.

Как видите, RAG относительно простая вещь. А с библиотекой искусственного интеллекта для 1С это становится просто, как раз-два-три.

См. также

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

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

5000 руб.

08.11.2023    3386    13    0    

23

Нейросети Распознавание документов и образов Программист Пользователь Платформа 1С v8.3 Россия Абонемент ($m)

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

10 стартмани

26.03.2025    370    4    Prepod2003    4    

5

Нейросети Инструментарий разработчика Программист Платформа 1С v8.3 Управляемые формы Россия Абонемент ($m)

Обработка для подключения к провайдерам ИИ (Искусственный интеллект) , чат, код-ревью.

1 стартмани

25.03.2025    1502    17    PowerBoy    8    

21

Нейросети Мастера заполнения Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Абонемент ($m)

Обработка предназначена для автоматической генерации описания товаров справочника Номенклатура, используя мощности GigaChat, подходит для всех конфигураций на БСП. Может использоваться для автоматизации процесса заполнения карточки товара и оптимизации использования человеческого труда.

10 стартмани

18.03.2025    322    2    Marat1c8    0    

3

Нейросети Бесплатно (free)

В статье кратко расскажу, что такое ИИ агенты, чем они отличаются от "просто LLM". Что такое RAG, какой стек технологий для этого используется, с чего стоит начать. Особенности и подводные камни разработки. Также как и зачем мы стали делать агентов в 1С.

17.03.2025    6657    comol    40    

25

Мастера заполнения Нейросети Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 1С:Розница 2 1С:Розница 3.0 Абонемент ($m)

Обработка предназначена для автоматической генерации описания товаров справочника Номенклатура, используя мощности ChatGPT или DeepSeek (на выбор), подходит для всех конфигураций на БСП. Может использоваться для автоматизации процесса заполнения карточки товара и оптимизации использования человеческого труда.

10 стартмани

11.03.2025    585    7    Marat1c8    0    

2

Нейросети Рефакторинг и качество кода Тестирование QA Программист Платформа 1С v8.3 Бесплатно (free)

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

11.03.2025    4631    mrXoxot    52    

52

Нейросети Программист Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

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

1 стартмани

11.03.2025    6686    mkalimulin    24    

40
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. JohnyDeath 302 01.04.25 14:31 Сейчас в теме
Сколько в итоге токенов будет уходить на RAG? Понятно, что обращение к модели будет дешевле, но непонятно на сколько. Что будет-таки уходить в облако и какими порциями? От чего зависит размер этих порций?

Спасибо за библиотеку. Периодически подсматриваю там кусочки и что-то тестирую
cleaner_it; +1 Ответить
2. mkalimulin 1474 01.04.25 15:10 Сейчас в теме
(1) В моем примере получилось около 3000 токенов. Но я ставлю параметры auto при создании векторной базы. В принципе, можно играться размерами чанка (кусочка, chunk) и размерами перекрытия. Response API такое предусматривает. Меньше размеры, меньше токенов, но и качество ответов при этом может снижаться, поэтому оставил auto
cleaner_it; JohnyDeath; fatman78; +3 Ответить
3. vlad1976 01.04.25 18:33 Сейчас в теме
душу только травите. мне база досталась в режиме совместимости 8.3.12. и уже ваше расширение не поставить.
4. mkalimulin 1474 01.04.25 18:36 Сейчас в теме
(3) Так. А в чем загвоздка? JSON, насколько помню с 8.3.6, HTTP еще раньше. Что не дает поставить?
5. vlad1976 01.04.25 19:11 Сейчас в теме
Конфигурация.БиблиотекаИскусственногоИнтеллекта: Переопределение свойств заимствованных объектов в расширениях недопустимо в режиме совместимости 8.3.13 и ниже
6. mkalimulin 1474 01.04.25 19:35 Сейчас в теме
(5) Думаю, это можно будет убрать. Попробую в следующей версии
cleaner_it; +1 Ответить
7. timeforlive 16 02.04.25 10:28 Сейчас в теме
Думал 1 апрельская шутка этот пост. Спасибо, что осветили такой инструмент, буду пробовать.
8. mkalimulin 1474 02.04.25 11:00 Сейчас в теме
(7) Да, я что-то поздно спохватился. Совсем забыл, что 1 апреля надо публиковать либо ничего, либо веселое
Оставьте свое сообщение