Комментарии 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 тыс. рублей
Интересная статья, очень ждем продолжения!)
Как сделать RAG для своей компании