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

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

много текста... ну а всё таки,

Как сделать RAG для своей компании

??

Если нужен код, читайте предыдущие статьи.

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

Для этого случая можно по подробнее "Как сделать RAG для своей компании".

Задача: для внутренних нормативных документов (ВНД) сделать сервис (чат-бот), который бы отвечал на вопросы типа: Какие ВНД противоречат друг другу и в чем?

Шаги типа: примерный список вопросов – Готово (пример, см. выше).

Далее: Затащить все необходимое ПО в периметр компании (какие LLM + RAG), Подготовить оборудование (какая карта понадобится для чат-бота?), сделать то-то и то-то. Пошагово: что нужно сделать?

Речь не про интеллектуальный поиск в самих документах, а про запросы типа противоречивости документов, например, в одном документе (ВНД) исполнителем процесса указан отдел Х, а в другом ВНД - исполнителем этого же процесса отдел Y (чат-бот должен это выявить). Есть ли примеры внедрения подобных сервисов (локальных чат-ботов по ВНД).

Интересная задача по поиску противоречий. Но это не совсем RAG, это скорее стадия подготовки к RAG. Стадия чистки данных. RAG выбирает топ X документов на запрос пользователя. На запрос типа «Какие ВНД противоречат друг другу и в чем?», он не выберет ничего.

Здесь вам просто нужно загнать все документы в LLM с промтом «Какие ВНД противоречат друг другу и в чем?». Если документов очень много, то нужно будет делать пошагово, то есть сказать: «Я буду сейчас давать тебе документы, твоя задача - выяснить, какие ВНД противоречат друг другу и в чем?». Можно это автоматизировать, чтобы оно, например, раз в какой-то период прогоняло этот сценарий и выявляло дубликаты.

Про локальный запуск. Примерные скорости при использовании GPU vs CPU локально (первый параметр - это сложность нейросети, чем больше, тем в среднем качественней результат):

  • Локальные модели, помещённые на GPU/VRAM:

    • 7–13B: 20 токенов в секунду

    • 14–40B: 15 токенов в секунду

    • 70–700B: 10 токенов в секунду

  • Локальные модели, запущенные на CPU/RAM:

    • 7B: 8 токенов в секунду

    • 14–40B: 3 токена в секунду

    • 70–700B: 1,5 токена в секунду

В среднем один токен состоит из 3–5 символов, включая пробелы, знаки препинания и специальные символы. На однобитных LLM будет в несколько раз быстрее, но качество может пострадать немного.

Таким образом, если у вас, например, 100 документов средним размером 2 листа A4 (~4000 символов), то есть весь объем в 4 тысяч символов, то обработка всех документов будет занимать в среднем ~1,5 часа на GPU и 8 часов на CPU, либо ~2-3 часа на 1-битной сети на CPU. Это очень примерно.

Если у вас объем документов больше, то вы уже рискуете не попасть в контекстное окно нейросети, и нужно будет сравнивать наборы документов, что приведет к вынужденным повторным сравнениям и удлинит этот процесс.

GPU, про который мы здесь говорим, это что-то типа ~RTX 4090 ценой ~250 тыс. рублей

(какие LLM + RAG)

Что посоветуете из бесплатного? Для пробного тестирования и демонстрации решения задачи: «Какие ВНД противоречат друг другу и в чем?». Может есть описание такого стенда / реализации? Желательно на CPU.

Интересная статья, очень ждем продолжения!)

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

Публикации