Построение сложного RAG для работы с технической документацией
Можно ли взять любой RAG засунуть туда документацию и получить крутой ответ?
Спойлер:НЕТ
На этой неделе я исследовал возможности построения RAG-системы
для работы со сложными многосоставными 2-3-4 задания в одном запросе к технической документации
Хочу поделиться интересными находками и подходом, который дал хорошие результаты
Тестовый кейс документация Manticore Search
Для тестирования подхода я взял документацию Manticore Search - высокопроизводительной базы данных для поиска и аналитики
Она отлично подходит для скачивания есть на GitHub в формате md
- Множество взаимосвязанных концепций
- Комбинация SQL и HTTP API
- Специфичные форматы данных (векторы, JSON)
- Различные режимы работы (RT, Plain)
А теперь к проблеме
Классический подход к RAG (просто разбить документацию на чанки и искать по ним) не работает для сложных технических запросов
Например, запрос
Кстати предлагаю вам попробовать самим проверить свой RAG сможете ли добиться такого же ответа как у меня (в комментариях)
Такой запрос требует
- Понимания контекста (что такое RT индекс, KNN колонки)
- Объединения информации из разных частей документации
- Генерации корректных примеров кода
- Проверки технической точности
Архитектура эксперимента
- Qwen 7B (16 FP) на RTX 4090
- Multilingual E5 Large для эмбеддингов
- Собственный механизм Chain of Thought
Структура данных в Milvus:
После поиска, объединяем найденные чанки по иерархии документации, получая ~30K токенов контекста для LLM. Ответ в формате Markdown будет содержать
- Уровень анализа запроса
- Найденные документы с их URL
- Готовые примеры кода
- Полный текст документации
Процесс обработки запроса
Query Expansion
- Используем LLM для генерации 3-5 альтернативных запросов
- Учитываем технический контекст
- Переводим на язык документации (английский)
Векторный поиск
- Для каждого расширенного запроса ищем топ-3 результата
- Получаем ~9 релевантных чанков
- Используем иерархию документации для контекста
Объединение + ответ
- Делюсь с вами своей схемой SO + CoT + Outlines + vLLM (В комментариях) + ответ модели на такой запрос
Так и по классике выводы
Что особенного и можно ли повторит?
0) Да самое важное уделить время на разработку стратегии разметки и поиска
(ой маркетинг где RAG работает с любой докой не правда? Как так? =))
1) Статический Chain of Thought
2) Оптимизация контекста по иерархии
3) Локальное развертывание
4) Понимание работы Structured Output
P.S
Решение субъективно и основано на конкретном опыте
Требуется дальнейшее тестирование на разных типах документации
Возможны ошибки при очень специфических запросах
Считаю что нужен агент планировщик поиска по документации
P.S.S Все примеры и код основаны на реальном опыте работы с технической документацией Manticore Search
Можно ли взять любой RAG засунуть туда документацию и получить крутой ответ?
Спойлер:
На этой неделе я исследовал возможности построения RAG-системы
для работы со сложными многосоставными 2-3-4 задания в одном запросе к технической документации
Хочу поделиться интересными находками и подходом, который дал хорошие результаты
Тестовый кейс документация Manticore Search
Для тестирования подхода я взял документацию Manticore Search - высокопроизводительной базы данных для поиска и аналитики
Она отлично подходит для скачивания есть на GitHub в формате md
- Множество взаимосвязанных концепций
- Комбинация SQL и HTTP API
- Специфичные форматы данных (векторы, JSON)
- Различные режимы работы (RT, Plain)
А теперь к проблеме
Классический подход к RAG (просто разбить документацию на чанки и искать по ним) не работает для сложных технических запросов
Например, запрос
"Покажи как оформить json чтобы делать replace в knn колонках
RT индекса поле называется embedding и пришли пример python запроса"
Кстати предлагаю вам попробовать самим проверить свой RAG сможете ли добиться такого же ответа как у меня (в комментариях)
Такой запрос требует
- Понимания контекста (что такое RT индекс, KNN колонки)
- Объединения информации из разных частей документации
- Генерации корректных примеров кода
- Проверки технической точности
Архитектура эксперимента
- Qwen 7B (16 FP) на RTX 4090
- Multilingual E5 Large для эмбеддингов
- Собственный механизм Chain of Thought
Структура данных в Milvus:
Collection: documentation
Fields:
- id: primary key
- filename: string (для формирования ссылок в ответе)
- chunk_text: string (текст чанка)
- embeddings: float_vector[1024] (векторы от e5-large)
- category: string (раздел документации)
- subcategory: string (подраздел)
- full_text: string (полный текст документа)
После поиска, объединяем найденные чанки по иерархии документации, получая ~30K токенов контекста для LLM. Ответ в формате Markdown будет содержать
- Уровень анализа запроса
- Найденные документы с их URL
- Готовые примеры кода
- Полный текст документации
Процесс обработки запроса
Query Expansion
- Используем LLM для генерации 3-5 альтернативных запросов
- Учитываем технический контекст
- Переводим на язык документации (английский)
Векторный поиск
- Для каждого расширенного запроса ищем топ-3 результата
- Получаем ~9 релевантных чанков
- Используем иерархию документации для контекста
Объединение + ответ
- Делюсь с вами своей схемой SO + CoT + Outlines + vLLM (В комментариях) + ответ модели на такой запрос
Так и по классике выводы
Что особенного и можно ли повторит?
0) Да самое важное уделить время на разработку стратегии разметки и поиска
(ой маркетинг где RAG работает с любой докой не правда? Как так? =))
1) Статический Chain of Thought
2) Оптимизация контекста по иерархии
3) Локальное развертывание
4) Понимание работы Structured Output
P.S
Решение субъективно и основано на конкретном опыте
Требуется дальнейшее тестирование на разных типах документации
Возможны ошибки при очень специфических запросах
Считаю что нужен агент планировщик поиска по документации
P.S.S Все примеры и код основаны на реальном опыте работы с технической документацией Manticore Search
Forwarded from red_mad_robot
AI-рынок на пороге перемен: что ждёт индустрию в 2025 году?
Прошлый год стал для AI точкой масштабных изменений: open source модели укрепили позиции, компании начали адаптировать стратегии под новые реалии, а регуляторы — пытаться успеть за технологиями. Но это только начало: рынок продолжает трансформироваться, и в 2025-м нас ждут новые прорывы и вызовы.
Чтобы понять, куда движется индустрия, собрали мнения экспертов из NDT by red_mad_robot, Битрикс24, MTS AI, е/асс, Вкусвилла и GigaChat. Листайте карточки, чтобы узнать:
• Как компании пересматривают подходы к внедрению и использованию нейросетей?
• Какие технологии и бизнес-модели будут определять развитие AI в 2025 году?
• И каким будет следующий этап в гонке генеративного интеллекта?
#AI_moment
Прошлый год стал для AI точкой масштабных изменений: open source модели укрепили позиции, компании начали адаптировать стратегии под новые реалии, а регуляторы — пытаться успеть за технологиями. Но это только начало: рынок продолжает трансформироваться, и в 2025-м нас ждут новые прорывы и вызовы.
Чтобы понять, куда движется индустрия, собрали мнения экспертов из NDT by red_mad_robot, Битрикс24, MTS AI, е/асс, Вкусвилла и GigaChat. Листайте карточки, чтобы узнать:
• Как компании пересматривают подходы к внедрению и использованию нейросетей?
• Какие технологии и бизнес-модели будут определять развитие AI в 2025 году?
• И каким будет следующий этап в гонке генеративного интеллекта?
#AI_moment
@daisytranscribe_bot
Приятный фидбек по среди недели!
А ты все еще используешь платные сервисы для STT!
Учитесь как делать удобно себе
Приятный фидбек по среди недели!
А ты все еще используешь платные сервисы для STT!
Учитесь как делать удобно себе
Forwarded from Daisy news
Рада сообщить о долгожданных улучшениях:
1. Ты сам выбираешь, как выглядит интерфейс: светлая, тёмная или автоматическая тема, которая меняется в зависимости от настроек твоего устройства.
2. Загруженные картинки теперь отображаются прямо в чате, а не как прикреплённые файлы. Удобно и наглядно — всё, что нужно для комфортной работы.
⚡️ Daisy Web — удобная веб-версия бота с возможностью анализа изображений и документов
🌼 @daisygpt_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Daisy news
Media is too big
VIEW IN TELEGRAM
Теперь в любой модели можно включить поиск в интернете, а результаты будут автоматически добавляться в контекст диалога. Даже если отключишь, информация останется доступной для работы.
Как это работает?
1. включаешь поиск — я нахожу актуальные данные;
2. источники отображаются с кликабельными ссылками;
3. полученная информация остаётся в чате, как загруженный файл.
Никаких лишних вкладок и копипаста — всё нужное уже здесь. Попробуй умный поиск и расскажи, насколько он полезен для тебя
⚡️ Daisy Web — удобная веб-версия бота с возможностью анализа изображений и документов
🌼 @daisygpt_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
Deep Research за копейки?
Йоу, народ! Время рассказать, чем я тут занимался в последнее время
Спойлер:Deep Кодил
Короче, решил я окунуться в мир опенсорса на тему Deep Research
Знаете, такие штуки, которые умнее обычного гугления
И вот что я там накопал прошелся по 3-4 репо и пока вот мой топ для понимания как это работает.
Значит берем LangGraph(langsmith)
Берем tavily
Берем LLM
Берем другую LLM которая будет кодить (кстати я попробовал Cursor скоро расскажу как оно там)
1. Можно кастомить агентов с помощью Structure Output + CoT (Chain of Thought, если кто не в курсе).
2. Есть готовые репо, типа этого: https://github.com/langchain-ai/ollama-deep-researcher
Но я же не ищу легких путей! Взял этот репо и перепилил всё под себя что поменял
- Промпты обновил (добавил SO, чтоб было красиво)
- Граф немного перекроил
- Подключил свои серваки с vLLM (видюхи не простаивают!)
- Поправил промпты рефлексии
Короче, получилось вот это чудо:
https://github.com/kekslop/ndt-deep-researcher
И вот что самое крутое: с сегодняшнего дня почти все мои наработки будут попадать на GitHub!
Да-да, вы тоже сможете их попробовать!
Я там расписал README так подробно, что даже моя бабушка сможет повторить мой опыт создания такого агента и использования его в быту
Ну, почти 😅
Основная фишка текущего подхода - это визуализация и работа с Structured Output и работа с моделькой 7b =)
Дальше буду кастомить свой CoT
Что умеет эта штука для меня
- Работает на разных языках (прям как я после пятничного стрима "запускаем новое направление))
- Ищет инфу в интернете через Tavily (круче, чем ваша школьная разработка на силениум )
А самое интересное впереди! Скоро расскажу, как сделать монструозную систему с генерацией биг отчета и поиском инфы в нескольких источниках
Следите за обновлениями, кто хочет быть в теме!
Ну а я пошел кодить дальше, пока команда думает, что я занимаюсь "стратегическим планированием" 😎
Йоу, народ! Время рассказать, чем я тут занимался в последнее время
Спойлер:
Короче, решил я окунуться в мир опенсорса на тему Deep Research
Знаете, такие штуки, которые умнее обычного гугления
И вот что я там накопал прошелся по 3-4 репо и пока вот мой топ для понимания как это работает.
Значит берем LangGraph(langsmith)
Берем tavily
Берем LLM
Берем другую LLM которая будет кодить (кстати я попробовал Cursor скоро расскажу как оно там)
1. Можно кастомить агентов с помощью Structure Output + CoT (Chain of Thought, если кто не в курсе).
2. Есть готовые репо, типа этого: https://github.com/langchain-ai/ollama-deep-researcher
Но я же не ищу легких путей! Взял этот репо и перепилил всё под себя что поменял
- Промпты обновил (добавил SO, чтоб было красиво)
- Граф немного перекроил
- Подключил свои серваки с vLLM (видюхи не простаивают!)
- Поправил промпты рефлексии
Короче, получилось вот это чудо:
https://github.com/kekslop/ndt-deep-researcher
И вот что самое крутое: с сегодняшнего дня почти все мои наработки будут попадать на GitHub!
Да-да, вы тоже сможете их попробовать!
Я там расписал README так подробно, что даже моя бабушка сможет повторить мой опыт создания такого агента и использования его в быту
Ну, почти 😅
Основная фишка текущего подхода - это визуализация и работа с Structured Output и работа с моделькой 7b =)
Дальше буду кастомить свой CoT
Что умеет эта штука для меня
- Работает на разных языках (прям как я после пятничного стрима "запускаем новое направление))
- Ищет инфу в интернете через Tavily (круче, чем ваша школьная разработка на силениум )
А самое интересное впереди! Скоро расскажу, как сделать монструозную систему с генерацией биг отчета и поиском инфы в нескольких источниках
Следите за обновлениями, кто хочет быть в теме!
Ну а я пошел кодить дальше, пока команда думает, что я занимаюсь "стратегическим планированием" 😎
Forwarded from Daisy news
Работаешь с документами и хочешь находить нужную информацию без лишних поисков? Я научилась умнее обрабатывать файлы, а значит, теперь ты можешь загружать их в чат и быстро получать ответы на основе их содержимого.
Как это работает?
1️⃣ Очищаю текст — удаляю лишнее и оставляю только важную информацию.
2️⃣ Разбиваю на части (чанки) — текст делится на небольшие блоки по 512 токенов, чтобы сохранять смысл и работать с ним точнее.
3️⃣ Создаю векторное представление — каждый фрагмент превращается в набор чисел, который легко находить при поиске.
4️⃣ Когда ты задаёшь вопрос, я ищу самые подходящие кусочки текста, отбирая топ-35 релевантных фрагментов.
5️⃣ Формирую ответ — объединяю найденную информацию и выдаю готовый результат.
Зачем это нужно?
👉 Быстрый поиск по объёмным документам.
👉 Возможность загружать несколько файлов и работать с ними, как с собственной базой знаний.
👉 Экономия времени — теперь тебе не нужно вручную искать информацию в тексте.
⚡️ Daisy Web — удобная веб-версия бота с возможностью анализа изображений и документов
🌼 @daisygpt_bot
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from red_mad_dev
Хотите ворваться в разработку AI-решений? Мы в red_mad_robot запускаем буткемп для джунов, где за 4 недели вы получите практический опыт в разработке AI-решений под руководством экспертов red_mad_robot.
↗️ У вас будет два возможных пути
- NLP-инженер — работа с LLM (ChatGPT, LLaMA, Claude), настройка промтов, обработка текстов. Для разработчиков, аналитиков и тех, кто хочет научиться говорить с AI на одном языке;
MarkUp-инженер — разметка данных, генерация контента, автоматизация процессов. Идеально для тестировщиков, технических специалистов и тех, кто хочет делать AI точнее.
⚡️ Как устроен буткемп?
- 80% практики — реальные задачи, никаких лекций ради лекций;
- менторы red_mad_robot — поддержка и ревью;
- кейс в портфолио + новые AI-скиллы.
Приём заявок — до 10 марта. Старт — 17 марта. Обучение бесплатное, но с отбором.
🔗 Интересно? Записывайтесь по ссылке.
- NLP-инженер — работа с LLM (ChatGPT, LLaMA, Claude), настройка промтов, обработка текстов. Для разработчиков, аналитиков и тех, кто хочет научиться говорить с AI на одном языке;
MarkUp-инженер — разметка данных, генерация контента, автоматизация процессов. Идеально для тестировщиков, технических специалистов и тех, кто хочет делать AI точнее.
- 80% практики — реальные задачи, никаких лекций ради лекций;
- менторы red_mad_robot — поддержка и ревью;
- кейс в портфолио + новые AI-скиллы.
Приём заявок — до 10 марта. Старт — 17 марта. Обучение бесплатное, но с отбором.
Please open Telegram to view this post
VIEW IN TELEGRAM
Neural Deep
Deep Research за копейки? Йоу, народ! Время рассказать, чем я тут занимался в последнее время Спойлер: Deep Кодил Короче, решил я окунуться в мир опенсорса на тему Deep Research Знаете, такие штуки, которые умнее обычного гугления И вот что я там накопал…
Please open Telegram to view this post
VIEW IN TELEGRAM
Neural Deep
Deep Research ты мне верь, я все нужное нашёл!
Ходил бродил как варенье по интернету и не нашёл для себя адекватного готового бенчмарка для таких агентских систем, т.е например на сайте openai задачи на рисерч которые я в жизни бы даже не придумал мне что-то простое нужно запросы более приземленого характера, ну что поделать будем изобретать😁
А теперь к метрикам я провел анализ по 5 реквестам к своему Deep Research и Perplexity и Grok3
На текущий момент это усредненная оценка двух судей
Оценивал я + claude 3.5 sonnet(LLM as judge)
За метрики я взял такие параметры как
Глубина анализа: Сколько было найденно ссылок и источников и насколько они актуальный (высший бал у преплексити у них точно лучший поисковой движок)
Структурированность: четкая организация с помощью CoT(мой подход) у преплексити возможно тоже SO + CoT структура там есть
Актуальность: тут мы оцениваем даты и понимание запроса в связи со временем
Итеративность: есть ли последовательность в действиях и как она описывается (планировщик и оценка процесса что важно понимать куда забрел агент при поиске информации)
Практическая ценность: можно ли данные результаты приложить к аналитике для применения в проктите (корпоративные решения или локальные ценности) предвзятая метрика я сам судил можно ли что-то делать с данными
Разница в почти 8 процентов?
Пойду соберу выборку запросов по больше но даже на 5 такой подход показывается небольшую разницу
Выводов пока не будет просто скажу что удалось повторить но не превзойти
UPD подкинул еще Grok3 в сравнение
Ходил бродил как варенье по интернету и не нашёл для себя адекватного готового бенчмарка для таких агентских систем, т.е например на сайте openai задачи на рисерч которые я в жизни бы даже не придумал мне что-то простое нужно запросы более приземленого характера, ну что поделать будем изобретать
А теперь к метрикам я провел анализ по 5 реквестам к своему Deep Research и Perplexity и Grok3
На текущий момент это усредненная оценка двух судей
Оценивал я + claude 3.5 sonnet(LLM as judge)
За метрики я взял такие параметры как
Глубина анализа: Сколько было найденно ссылок и источников и насколько они актуальный (высший бал у преплексити у них точно лучший поисковой движок)
Структурированность: четкая организация с помощью CoT(мой подход) у преплексити возможно тоже SO + CoT структура там есть
Актуальность: тут мы оцениваем даты и понимание запроса в связи со временем
Итеративность: есть ли последовательность в действиях и как она описывается (планировщик и оценка процесса что важно понимать куда забрел агент при поиске информации)
Практическая ценность: можно ли данные результаты приложить к аналитике для применения в проктите (корпоративные решения или локальные ценности) предвзятая метрика я сам судил можно ли что-то делать с данными
Разница в почти 8 процентов?
Пойду соберу выборку запросов по больше но даже на 5 такой подход показывается небольшую разницу
Выводов пока не будет просто скажу что удалось повторить но не превзойти
UPD подкинул еще Grok3 в сравнение
Please open Telegram to view this post
VIEW IN TELEGRAM