Наверное еще рано чтобы подводить громкие итоги.
Но я точно могу сказать чем могу гордиться к 30 годам
У меня родился сын в 2024!!!
У меня прекрасная жена без которой я бы не достигал таких высот ❤️
Супер крутая и отзывчивая семья!
Осуществил мечту собрать команду мечты, они самые крутые ребята!
Поборол страх выступлений, в этом году более 8 публичных выступлений, участий в подкастах и съёмках.
Ну и на последок все, что я делаю - это точно помогает и упрощает жизнь людям, моими идеями и уникальными сервисами пользуется более 100.000 человек в месяц!
Оставайтесь на связи, вы самая крутая аудитория =)
В 2025 я продолжу свой путь!
Но я точно могу сказать чем могу гордиться к 30 годам
У меня родился сын в 2024!!!
У меня прекрасная жена без которой я бы не достигал таких высот ❤️
Супер крутая и отзывчивая семья!
Осуществил мечту собрать команду мечты, они самые крутые ребята!
Поборол страх выступлений, в этом году более 8 публичных выступлений, участий в подкастах и съёмках.
Ну и на последок все, что я делаю - это точно помогает и упрощает жизнь людям, моими идеями и уникальными сервисами пользуется более 100.000 человек в месяц!
Оставайтесь на связи, вы самая крутая аудитория =)
В 2025 я продолжу свой путь!
60❤26🔥14
Всем привет!
Начнем этот год с бенчмарков on-premise VL и Cloud моделей и их производительности в анализе неструктурированных документов и извлечении данных из них через подход Structured output.
У нас сегодня открытые данные (таможенные декларации и неструктурированные документы): паспорта качества, СЭС-сертификаты, сертификаты пожарной безопасности. Все эти документы объединяет то, что они общедоступные и неструктурированные.
Соревнуются четыре модели: Qwen/Qwen2-VL-7B-Instruct и Qwen/Qwen2-VL-72B-Instruct (вторая запущена в динамической квантизации на 8FP.
А так же claude-3.5-sonnet и gpt-4o
Куда смотрим для понимания точности на метрику DocVQAtest
Qwen2-VL-7B: 94.5% (в сравнении с gpt-4o-mini)
Qwen2-VL-72B: 96.5% (в сравнении с моделями ниже)
GPT-4o: 92.8%
Claude-3.5 Sonnet: 95.2%
Итак, на вход у нас задача извлекать 5 типов данных:
1) Производитель
2) Номер документа
3) Даты
4) Организация, которая выдала
5) Описание
Примерный промпт, который мне понравился:
Structured Output схема (специально максимально скрыл данные в некоторых полях, считаю это уже интеллектуальной собственностью):
Так как мы запускаемся на VLLM, то у нас на сегодня есть три бэкенда для Structured Output. Но я использую xgrammar.
Конфиг железа:
1) 7b модель запущена на 4090
2) 72b модель в динамической FP8 влезает в одну H100, так что тут не густо по потокам, но хватает для анализа
А что по времени с on-premise
4 сек у 7b и 10 сек у 72b на одну страничку!
В картинку вынес сравнительную таблицу по стоимости(учитывая аренду сервера на месяц), скорости своим комментариям, и емкости взял за пример, что в сутки надо анализировать 20к документов.
Какие выводы можем сделать?
Если у вас огромные потоки данных для анализа в сутки от 10-20к в день, и вам очень важна секьюрность, то on-premise решения уже догоняют Cloud решения по многим характеристикам. Да начинаем с cloud (так как надо SO то пока что только openai)
Главное - грамотно подойти к настройке сервиса и железу (что мы и делаем для наших клиентов), именно разрабатываем выгодную стратегию использования LLM решений в контуре компаний клиентов!
Начнем этот год с бенчмарков on-premise VL и Cloud моделей и их производительности в анализе неструктурированных документов и извлечении данных из них через подход Structured output.
У нас сегодня открытые данные (таможенные декларации и неструктурированные документы): паспорта качества, СЭС-сертификаты, сертификаты пожарной безопасности. Все эти документы объединяет то, что они общедоступные и неструктурированные.
Соревнуются четыре модели: Qwen/Qwen2-VL-7B-Instruct и Qwen/Qwen2-VL-72B-Instruct (вторая запущена в динамической квантизации на 8FP.
А так же claude-3.5-sonnet и gpt-4o
Куда смотрим для понимания точности на метрику DocVQAtest
Qwen2-VL-7B: 94.5% (в сравнении с gpt-4o-mini)
Qwen2-VL-72B: 96.5% (в сравнении с моделями ниже)
GPT-4o: 92.8%
Claude-3.5 Sonnet: 95.2%
Итак, на вход у нас задача извлекать 5 типов данных:
1) Производитель
2) Номер документа
3) Даты
4) Организация, которая выдала
5) Описание
Примерный промпт, который мне понравился:
Analyze the document image and extract the following fields with special attention to mixed character sets:
1. MANUFACTURER (ПРОИЗВОДИТЕЛЬ):
- Extract complete legal name
- Include organization type (ООО, АО etc.)
- Preserve original formatting
2. DOCUMENT NUMBER (НОМЕР ДОКУМЕНТА):
- Extract complete number maintaining original format
- Pay special attention to:
* Cyrillic characters (А-Я, а-я)
* Latin characters (A-Z, a-z)
* Numbers (0-9)
* Special characters (-, .)
- Preserve exact case of letters
3. DATES (ДАТЫ):
- Issue date (дата регистрации)
- Expiry date (действительна по)
- Format: DD.MM.YYYY
- Validate date format
4. ISSUING ORGANIZATION (ОРГАНИЗАЦИЯ):
- Extract complete legal name
- Include location if specified
- Maintain original spelling
5. DESCRIPTION (ОПИСАНИЕ):
- Extract document type and purpose
- Include scope of application
- Preserve key regulatory references
Structured Output схема (специально максимально скрыл данные в некоторых полях, считаю это уже интеллектуальной собственностью):
{
"type": "object",
"properties": {
"manufacturer": {
"type": "string",
"description": "..."
},
"document_number": {
"type": "string",
"description": "..."
},
"issue_date": {
"type": "string",
"description": "..."
},
"expiry_date": {
"type": "string",
"description": "..."
},
"issuing_organization": {
"type": "string",
"description": "..."
},
"description": {
"type": "string",
"description": "..."
}
},
"required": [
"manufacturer",
"document_number",
"issue_date",
"expiry_date",
"issuing_organization",
"description"
]
}
Так как мы запускаемся на VLLM, то у нас на сегодня есть три бэкенда для Structured Output. Но я использую xgrammar.
Конфиг железа:
1) 7b модель запущена на 4090
gpu_executor.py:80] Maximum concurrency for 20000 tokens per request: 3.82x
2) 72b модель в динамической FP8 влезает в одну H100, так что тут не густо по потокам, но хватает для анализа
gpu_executor.py:80] Maximum concurrency for 6000 tokens per request: 2.38x
А что по времени с on-premise
4 сек у 7b и 10 сек у 72b на одну страничку!
В картинку вынес сравнительную таблицу по стоимости(учитывая аренду сервера на месяц), скорости своим комментариям, и емкости взял за пример, что в сутки надо анализировать 20к документов.
Какие выводы можем сделать?
Если у вас огромные потоки данных для анализа в сутки от 10-20к в день, и вам очень важна секьюрность, то on-premise решения уже догоняют Cloud решения по многим характеристикам. Да начинаем с cloud (так как надо SO то пока что только openai)
Главное - грамотно подойти к настройке сервиса и железу (что мы и делаем для наших клиентов), именно разрабатываем выгодную стратегию использования LLM решений в контуре компаний клиентов!
🔥16👍4
Forwarded from Старший Авгур
У Anthropic пару недель назад вышел пост про агентов: https://www.anthropic.com/research/building-effective-agents
Он прекрасен тем, что определяет, что является агентом, а что не является. С точки зрения авторов поста, агент = система, в которой языковые модели динамически управляют собственными вызовами и инструментами, контролируя выполнение какой-то задачи.
Авторы утверждают, что для большинства случаев агенты не нужны: чем проще решение, тем лучше. С чем я полностью согласен👏
Основное содержание поста — примитивы и паттерны оркестрирования языковых моделей без агентов. Основной примитив: улучшенная языковая модель, которая имеет доступ к инструментам, поиску и памяти. Этот примитив может быть реализован по-разному, например через конечное число последовательных вызовов языковой модели.
🔹Паттерн 1: цепочка промптов
Если задача разбивается на несколько последовательных подзадач, их можно решать отдельными вызовами языковой модели. Например, если вы хотите сделать систему, пишущую книги, вы сначала делаете вызов для генерации названия книги, потом отдельные вызовы для краткого описания, содержания, выжимок глав и непосредственно самих глав.
🔹Паттерн 2: маршрутизация
Если ваше приложение разбивается на несколько возможных параллельных путей, то стоит сделать классификатор, который будет определять нужный путь, и специализированные промпты под каждый из путей. Например, если вы делаете чатбот с несколькими независимыми функциями (рекомендация фильмов, ответы на вопросы по фильмам, чат на общие темы), то стоит использовать этот паттерн. В древних чатботах часто был детектор интентов, который делал ровно это👴
🔹Паттерн 3: параллелизация
Если задача разбивается на несколько параллельных подзадач, то стоит их и вызывать параллельно. Например, если вам нужно извлечь огромный JSON из текста или переписки, возможно вам стоит извлекать его по кусочкам. Отличие от маршрутизации в том, что в ней нам нужна была только одна ветка, а тут нам нужны результаты всех вызовов.
🔹Паттерн 4: ведущий-ведомый😭
То же самое, что и параллелизация, только с динамическим количеством и содержанием подзадач. Например, так можно делать агрегацию результатов поиска.
🔹Паттерн 5: цикл оценки
Если есть чёткие критерии оценки качества выполнения задачи, то можно одной языковой моделью решать задачу, а другой — оценивать качество решения и давать обратную связь. И делать это в цикле. Это может работать много где, например в переводе текстов.
Ну и наконец последний паттерн — агенты, которые совершают действия в определенной среде, получают от среды обратную связь, и снова совершают действия.
Мне в разных местах в разное время пришлось использовать первые 3 паттерна. При этом тогда я не формулировал их как отдельные паттерны. Это не какие-то абстрактные штуки, это кристаллизация того, как удобно и просто строить системы (как и любые другие паттерны проектирования).
Он прекрасен тем, что определяет, что является агентом, а что не является. С точки зрения авторов поста, агент = система, в которой языковые модели динамически управляют собственными вызовами и инструментами, контролируя выполнение какой-то задачи.
Авторы утверждают, что для большинства случаев агенты не нужны: чем проще решение, тем лучше. С чем я полностью согласен
Основное содержание поста — примитивы и паттерны оркестрирования языковых моделей без агентов. Основной примитив: улучшенная языковая модель, которая имеет доступ к инструментам, поиску и памяти. Этот примитив может быть реализован по-разному, например через конечное число последовательных вызовов языковой модели.
🔹Паттерн 1: цепочка промптов
Если задача разбивается на несколько последовательных подзадач, их можно решать отдельными вызовами языковой модели. Например, если вы хотите сделать систему, пишущую книги, вы сначала делаете вызов для генерации названия книги, потом отдельные вызовы для краткого описания, содержания, выжимок глав и непосредственно самих глав.
🔹Паттерн 2: маршрутизация
Если ваше приложение разбивается на несколько возможных параллельных путей, то стоит сделать классификатор, который будет определять нужный путь, и специализированные промпты под каждый из путей. Например, если вы делаете чатбот с несколькими независимыми функциями (рекомендация фильмов, ответы на вопросы по фильмам, чат на общие темы), то стоит использовать этот паттерн. В древних чатботах часто был детектор интентов, который делал ровно это
🔹Паттерн 3: параллелизация
Если задача разбивается на несколько параллельных подзадач, то стоит их и вызывать параллельно. Например, если вам нужно извлечь огромный JSON из текста или переписки, возможно вам стоит извлекать его по кусочкам. Отличие от маршрутизации в том, что в ней нам нужна была только одна ветка, а тут нам нужны результаты всех вызовов.
🔹Паттерн 4: ведущий-ведомый
То же самое, что и параллелизация, только с динамическим количеством и содержанием подзадач. Например, так можно делать агрегацию результатов поиска.
🔹Паттерн 5: цикл оценки
Если есть чёткие критерии оценки качества выполнения задачи, то можно одной языковой моделью решать задачу, а другой — оценивать качество решения и давать обратную связь. И делать это в цикле. Это может работать много где, например в переводе текстов.
Ну и наконец последний паттерн — агенты, которые совершают действия в определенной среде, получают от среды обратную связь, и снова совершают действия.
Мне в разных местах в разное время пришлось использовать первые 3 паттерна. При этом тогда я не формулировал их как отдельные паттерны. Это не какие-то абстрактные штуки, это кристаллизация того, как удобно и просто строить системы (как и любые другие паттерны проектирования).
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤3👍3
Neural Deep
Всем привет! Начнем этот год с бенчмарков on-premise VL и Cloud моделей и их производительности в анализе неструктурированных документов и извлечении данных из них через подход Structured output. У нас сегодня открытые данные (таможенные декларации и не…
Продолжаю свои тесты и вот удалось развернуть Qwen2-VL-72B-Instruct-FP8-dynamic на 4х4090 (на immers за 260к деревянных в месяц) с 16к токенами контекста и с не плохой скоростью
Cейчас взял этот бенчмарк
1) Проблема я не понял как побороть требование следовать точному ответу из заготовленных правильных (возможно не так готовлю)
2) Чукча решил собрать на базе Structured Output модератора на базе Qwen 2.5 7b который будет решать True или False то в итоге что бы не писать кучу обработок
Как соберу все в едино выдам результаты в комментарии
Cейчас взял этот бенчмарк
cmarkea/doc-vqa
и упаковал тест в streamlit что бы визуально видеть как отрабатывает модель 1) Проблема я не понял как побороть требование следовать точному ответу из заготовленных правильных (возможно не так готовлю)
2) Чукча решил собрать на базе Structured Output модератора на базе Qwen 2.5 7b который будет решать True или False то в итоге что бы не писать кучу обработок
Как соберу все в едино выдам результаты в комментарии
👍9🔥5
Neural Deep
Продолжаю свои тесты и вот удалось развернуть Qwen2-VL-72B-Instruct-FP8-dynamic на 4х4090 (на immers за 260к деревянных в месяц) с 16к токенами контекста и с не плохой скоростью Cейчас взял этот бенчмарк cmarkea/doc-vqa и упаковал тест в streamlit что бы…
Поменял датасет на вот этот
Добавил проверку ответа еще в один шаг LLM модератором
1) Скрин результаты
2) Скрин процесс следил за ним сразу в 3 терминала =)
Прогнал на обеих моделях по 250 вопросов из доступных 10к
Поставлю на ночь все тогда!
Какие еще VL модельки проверить на DocVQA?
Добавил проверку ответа еще в один шаг LLM модератором
1) Скрин результаты
2) Скрин процесс следил за ним сразу в 3 терминала =)
Прогнал на обеих моделях по 250 вопросов из доступных 10к
Поставлю на ночь все тогда!
Какие еще VL модельки проверить на DocVQA?
This media is not supported in your browser
VIEW IN TELEGRAM
Ну что разбиваем копилку?
Вышла долгожданная 5090 в два раза мощнее прошлой GeForce RTX 4090, и в два раза компактнее.
Nvidia представила GeForce RTX 5090, а также GeForce RTX 5080, GeForce RTX 5070 Ti и GeForce RTX 5070
GeForce RTX 5090 оказалась сильно дешевле, чем ожидалось $1.999 я рассчитывал на 2.500+
GeForce RTX 5090. 32 ГБ памяти GDDR7.
Частота памяти составила 30 ГГц. Видеокарта построена на GPU GB202-300-A1 c 21 760 ядрами CUDA.
TDP — 575 Вт.
Ускоритель поддерживает PCIe Gen 5.0 и DisplayPort 2.1b UHBR20 (8K 165 ГЦ)
Вышла долгожданная 5090 в два раза мощнее прошлой GeForce RTX 4090, и в два раза компактнее.
Nvidia представила GeForce RTX 5090, а также GeForce RTX 5080, GeForce RTX 5070 Ti и GeForce RTX 5070
GeForce RTX 5090 оказалась сильно дешевле, чем ожидалось $1.999 я рассчитывал на 2.500+
GeForce RTX 5090. 32 ГБ памяти GDDR7.
Частота памяти составила 30 ГГц. Видеокарта построена на GPU GB202-300-A1 c 21 760 ядрами CUDA.
TDP — 575 Вт.
Ускоритель поддерживает PCIe Gen 5.0 и DisplayPort 2.1b UHBR20 (8K 165 ГЦ)
🔥10❤6👍5
Media is too big
VIEW IN TELEGRAM
Еще чуть чуть и игры можно будет ставить прям на видеокарту 32 Гб КАРЛ!
🔥10
А что по нашей теме LLM?
А вот что новый game-changer для тех кто успел построить сервера и закупится H100 скажу так вы точно сейчас получите обесценивание своих затрат в х2 х3 раза и вот почему!
NVIDIA показала компактную AI платформу стоимостью в 3k USD, которая может запускать модели размером до 200B. А если соединить две машины - до 405B.
https://t.iss.one/llm_under_hood/478
А вот что новый game-changer для тех кто успел построить сервера и закупится H100 скажу так вы точно сейчас получите обесценивание своих затрат в х2 х3 раза и вот почему!
NVIDIA показала компактную AI платформу стоимостью в 3k USD, которая может запускать модели размером до 200B. А если соединить две машины - до 405B.
https://t.iss.one/llm_under_hood/478
TechCrunch
Nvidia's Project Digits is a 'personal AI supercomputer' | TechCrunch
At the 2025 Consumer Electronics Show in Las Vegas, Nvidia unveiled Project Digits, a device it's calling a 'personal AI supercomputer.'
🔥13 5
Forwarded from Korenev AI - GPT в тапочках🩴
Записал подкаст с двумя ИИ предпринимателями, которые находятся в гуще событий.
Парни работают с крупным бизнесом и рассказывают, как реально заработать на ИИ в России, сколько стоит внедрение, и где искать первых клиентов.
Обсудили конкретные кейсы и поделились историями успеха – от первой сделки до оборота в сотни миллионов.
В этом видео мы старались излагать мысли с минимумом технарской терминологии.
Надеюсь записать следующий подкаст уже с технарским погружением.
➡️ Задавайте парням вопросы в комментариях. Попрошу их ответить или тут, или как раз в новом подкасте.
Приятного просмотра!
Ссылки:
Ютуб
Рутуб
Контакты:
➖ Роман Куцев, основатель компании по разметке данных с оборотом 500 млн рублей, создатель LLM-Arena https://t.iss.one/Roma_Data
➖ Валерий Ковальский, создатель компании по внедрению корпоративных ИИ-решений https://t.iss.one/neuraldeep
➖ Коренев Александр, ведущий подкаста, эксперт по внедрению ИИ в банковском секторе https://t.iss.one/korenev_ai
Парни работают с крупным бизнесом и рассказывают, как реально заработать на ИИ в России, сколько стоит внедрение, и где искать первых клиентов.
Обсудили конкретные кейсы и поделились историями успеха – от первой сделки до оборота в сотни миллионов.
В этом видео мы старались излагать мысли с минимумом технарской терминологии.
Надеюсь записать следующий подкаст уже с технарским погружением.
Приятного просмотра!
Ссылки:
Ютуб
Рутуб
Контакты:
Please open Telegram to view this post
VIEW IN TELEGRAM
100👍12🔥9❤4
Кстати у нас есть добрый и ламповый чат этого канала где обсуждают LLM и могут ответить на ваши вопросы про ИТ заходите чтобы не пропустить актуальное обсуждение
https://t.iss.one/neuraldeepchat
https://t.iss.one/neuraldeepchat
Telegram
Чат Kovalskii Варианты?
Ask about LLM
Чат канала @neuraldeep
Прошу общаться вежливо и дружелюбно
Чат канала @neuraldeep
Прошу общаться вежливо и дружелюбно
1🔥10
Forwarded from LLM под капотом
Titan - альтернатива трансформерам от Google #разбор
Google тут втихую выложил интересную работу про LLM с улучшенной памятью и потенциальным контекстом более 2M. Если учитывать то, что Google в последнее время кучно выпускает модели, которые попадают в TOP-10 моего бизнес-бенчмарка, то потенциал у этой затеи очень интересный.
Если в обычном Transformer память о прошлых токенах хранится только в рамках короткого окна self-attention (и приходится хитрить со Structured Checklists, чтобы оптимизировать внимание), то в Titans вводится многокомпонентная система памяти:
(1) Краткосрочная память (ограниченное скользящее окно внимания).
(2) Долгосрочная память (онлайн-обучаемая нейронная память).
(3) Постоянная память (фиксированный набор параметров для общих знаний).
Такое построение позволяет модели "учиться" на неожиданных событиях прямо во время inference. По сравнению с трансформерами, Titans обеспечивают:
(1) Более эффективную работу с очень длинными контекстами, перекладывая «глобальное» запоминание с дорогого self-attention на лёгкий по вычислительным затратам механизм памяти (ближе к O(n) или O (n log n), нежели тупиковый O(n*n))
(2) Увеличенную способность «доставать» нужную информацию из глубокого прошлого за счёт специального, динамически обновляемого модуля.
Это теоретически дает превосходство на ряде бенчмарков, где требуется действительно долгосрочное моделирование (например, cверхдлинные «needle-in-haystack» задачи, задачи из time-series и геномики).
Получится ли у Google забить тот самый гвоздь в крышку гроба трансформеров - еще предстоит посмотреть. Но если это случится в 2025 году - это будет здорово, даже если снова придется пересматривать все архитектуры!
Прочитать статью можно тут.
Ваш, @llm_under_hood 🤗
PS: Google могли бы оптимизировать модели под использование GPU и CPU тесном тандеме, и тогда они могли бы работать только на системах вроде Google TPU или новых супер-чипов NVidia. Но именно в этой архитектуре обновления памяти специально распараллеливаются так, чтобы работать хорошо на традиционных акселераторах. Молодцы!
Google тут втихую выложил интересную работу про LLM с улучшенной памятью и потенциальным контекстом более 2M. Если учитывать то, что Google в последнее время кучно выпускает модели, которые попадают в TOP-10 моего бизнес-бенчмарка, то потенциал у этой затеи очень интересный.
Если в обычном Transformer память о прошлых токенах хранится только в рамках короткого окна self-attention (и приходится хитрить со Structured Checklists, чтобы оптимизировать внимание), то в Titans вводится многокомпонентная система памяти:
(1) Краткосрочная память (ограниченное скользящее окно внимания).
(2) Долгосрочная память (онлайн-обучаемая нейронная память).
(3) Постоянная память (фиксированный набор параметров для общих знаний).
Такое построение позволяет модели "учиться" на неожиданных событиях прямо во время inference. По сравнению с трансформерами, Titans обеспечивают:
(1) Более эффективную работу с очень длинными контекстами, перекладывая «глобальное» запоминание с дорогого self-attention на лёгкий по вычислительным затратам механизм памяти (ближе к O(n) или O (n log n), нежели тупиковый O(n*n))
(2) Увеличенную способность «доставать» нужную информацию из глубокого прошлого за счёт специального, динамически обновляемого модуля.
Это теоретически дает превосходство на ряде бенчмарков, где требуется действительно долгосрочное моделирование (например, cверхдлинные «needle-in-haystack» задачи, задачи из time-series и геномики).
Получится ли у Google забить тот самый гвоздь в крышку гроба трансформеров - еще предстоит посмотреть. Но если это случится в 2025 году - это будет здорово, даже если снова придется пересматривать все архитектуры!
Прочитать статью можно тут.
Ваш, @llm_under_hood 🤗
PS: Google могли бы оптимизировать модели под использование GPU и CPU тесном тандеме, и тогда они могли бы работать только на системах вроде Google TPU или новых супер-чипов NVidia. Но именно в этой архитектуре обновления памяти специально распараллеливаются так, чтобы работать хорошо на традиционных акселераторах. Молодцы!
👍12
RAG за 3 часа на 2млн токенов из телеграм канала?
Легко!
На основе комьюнити чата и с разрешения владельца канала
Канал @llm_under_hood! 🚀
Чат канала @llm_driven_products
Ниже расскажу как 3-4 часа упаковал всю базу знаний канала и группы в векторное пространство и сделал действительно рабочую базу знаний.
При разработке отошел от классических подходов построения RAG для энтерпрайза - главный челлендж был в том, как превратить живое общение в структурированную базу знаний и сохранить контекст диалогов через parent_id.
Самое главное для меня что я уже получил положительные отзывы, так как люди получают ответы на ЧАВО из тематики канала.
ОБЩАЯ СТАТИСТИКА:
• Всего сообщений: 25,852
• Общий объём в токенах: 1,820,174
• Среднее токенов на сообщение: 70.41
Архитектура поиска:
• 4 связанные коллекции в Milvus:
- Посты канала (778)
- Ответы на посты (2,702) → связь через parent_post_id
- Комментарии (6,517)
- Ответы на комментарии (12,653) → связь через parent_comment_id
• Гибридный поиск:
- Векторный (semantic) через multilingual-e5-large
- Полнотекстовый с ранжированием
- Объединение результатов с учетом parent_id для сохранения контекста
• REST API на FastAPI со Swagger документацией
• Хостинг на Яндекс Облаке
Предобработка данных:
• ~2,000 сообщений до 10 токенов отфильтрованы как шум
• LLM-разметка по типам:
- Технические уточнения (~20%)
- Ссылки (~10%)
- Конкретные вопросы (~15%)
• Сохранение коротких сообщений с упоминанием технологий
• Обработка parent_id для связности диалогов
В планах:
• Собрать аналогичных ботов для других русскоязычных LLM-сообществ
• Объединить всю практику в единый RAG-engine
• Поделиться опытом очистки и структурирования диалогов из Telegram и созданием такого бота в live стриме на своем канале
Попробовать бота можно тут: @llm_driven_products_bot
Присоединяйтесь к тестированию! 🤖
P.S. Отдельное спасибо @llm_under_hood за крутой контент, который позволил собрать такую базу знаний!
Легко!
На основе комьюнити чата и с разрешения владельца канала
Канал @llm_under_hood! 🚀
Чат канала @llm_driven_products
Ниже расскажу как 3-4 часа упаковал всю базу знаний канала и группы в векторное пространство и сделал действительно рабочую базу знаний.
При разработке отошел от классических подходов построения RAG для энтерпрайза - главный челлендж был в том, как превратить живое общение в структурированную базу знаний и сохранить контекст диалогов через parent_id.
Самое главное для меня что я уже получил положительные отзывы, так как люди получают ответы на ЧАВО из тематики канала.
ОБЩАЯ СТАТИСТИКА:
• Всего сообщений: 25,852
• Общий объём в токенах: 1,820,174
• Среднее токенов на сообщение: 70.41
Архитектура поиска:
• 4 связанные коллекции в Milvus:
- Посты канала (778)
- Ответы на посты (2,702) → связь через parent_post_id
- Комментарии (6,517)
- Ответы на комментарии (12,653) → связь через parent_comment_id
• Гибридный поиск:
- Векторный (semantic) через multilingual-e5-large
- Полнотекстовый с ранжированием
- Объединение результатов с учетом parent_id для сохранения контекста
• REST API на FastAPI со Swagger документацией
• Хостинг на Яндекс Облаке
Предобработка данных:
• ~2,000 сообщений до 10 токенов отфильтрованы как шум
• LLM-разметка по типам:
- Технические уточнения (~20%)
- Ссылки (~10%)
- Конкретные вопросы (~15%)
• Сохранение коротких сообщений с упоминанием технологий
• Обработка parent_id для связности диалогов
В планах:
• Собрать аналогичных ботов для других русскоязычных LLM-сообществ
• Объединить всю практику в единый RAG-engine
• Поделиться опытом очистки и структурирования диалогов из Telegram и созданием такого бота в live стриме на своем канале
Попробовать бота можно тут: @llm_driven_products_bot
Присоединяйтесь к тестированию! 🤖
P.S. Отдельное спасибо @llm_under_hood за крутой контент, который позволил собрать такую базу знаний!
50🔥20👍15❤1