Я часто стал писать про RAG (умные помощники на базе ИИ для бизнеса) и Павел (спасибо) в канале поделился своим опытом.
«Приведу список потенциальных и реальных и даже пока не продуктивных проблем, чтобы предметно обсуждать:
1. Галлюцинации — как обеспечить их отсутствие. Решается, например, промптом + доп. источниками данных. Если у вас только документы, и нет доп. проверок, то придется принять, что есть % придумок
2. Поиск релевантных чанков — как подсунуть то, что нужно для ответа — тут и векторный поиск и мета-данные для чанков с пре-фильтром по ним (например, а-ля тэги).
3. Эмбеддинги для спец. терминов не работают. Например, напишите что-то типа «расскажи мне про режим A112/PP_INPUT» , это все распадется на 100-500 токенов и когда введете в поиск этот тех. термин, то для векторного поиска этот тех. термин будет иметь такой же вес как и для слов «расскажи» и «мне». Вернутся случайные чанки и , как итог, ответа не будет. Нужен либо пре-фильтеринг чанков до поиска. Либо изменение веса, либо кастомные имбеддинги, что очень очень трудозатратно.
4. Актуальность данных, даваемых в RAG на вход. Когда у компании 1000+ документов (реальный кейс), и во всех них есть куча не актуальных вещей, то получаем shit-in -> shit-out. Возникает отдельная задача актуализации. В случае с Войной и мир не актуально, к счастью, т.к. Толстой уже умер. Ой нет, «Толстой всегда жив в наших сердцах». 🙂
5. Ограничение контекстного окна — или «впихнуть невпи…емое» — как динамически резать результаты RAG — тут и суммаризация и жесткое обрезание и прочее
6. Извлечение текста из исходных документов — не все PDF одинаково скроены. Одна библиотека работает для одних документов, другая для других. А если PDF это скан — нужен ли OCR и как есть сделать лучше. А если там таблицы , то OCR страшно лагает.
7. «Не говорю о политике» — это то, о чем Максим упомянул. Тут и Nvidea guardrail и другие подходы, чтобы отделить зерна от плевел и маршрутизировать вопросы.
8. Сохранение контекста — когда идет диалог. Т.к. контекст LLM ограничен и денег жалко и надо управлять «памятью», чтобы оставить только нужное и удалить не нужное до отправки в LLM.
9. Анонимизация чувствительных данных — на лету менять имена, данные по финансам и прочее до LLM и по получению ответа заменять обратно. Есть библиотеки для этого. Часть клиентов, напр. фарма, банки, юристы, в RAG ни ногой, пока не обеспечите анонимность.
10. RAG + агенты — это когда вопрос-ответ не дал результата. Можно решать и диалогом, типа «не понял, уточните», но можно и «умно» лезть самому в доп. источники до достижения результата. Это , конечно, не для открытых чат-ботов ибо долго и дорого.
Набросал то, с чем реально сталкивался. И опять же, не в продуктивном режиме. Как раз по причине сложности достижения нужно стабильности, в технически сложной области с кучей специфики, было принято решение RAG пока отложить. Либо принять его недостатки «из коробки» как есть.
Если идете в прод, то умножай сложность и кол-во кода на 5-10 (условно, так как сам еще не ходил).
Все это, конечно, сильно зависит от конкретной области. Но в легкой области, как раз, наша помощь не нужна, и так справятся простыми общедоступными сервисами.
От RAG да, сперва ВАУ эффект обеспечен. Но при детальном разборе и начале проработки он быстро пропадает.
95-97% вашего кода RAG решения вообще никак не будет связано с LLM, но с вашей областью и инженерией по описанным выше и иным проблемам.»
В общем все ценно из практики! Но скажу так — компании по продаже колес оптом эти проблемы не сильно уж и важны, а платить 10к в месяц они способны за РАГ 🙂
Русский ИТ бизнес (https://t.me/bezsmuzi)
#smmbox_pro #Русский_ИТ_бизнес