LLM под капотом
17.8K subscribers
262 photos
5 videos
10 files
496 links
Канал про разработку продуктов на базе LLM/ChatGPT. Выжимка важных новостей и разборы кейсов.
Download Telegram
Enterprise RAG Challenge - новости

(1) Мы уже получили более 220 заявок на участие во втором раунде! Было бы больше, но вчера в Кёльне была авария у провайдера, и сайт всей группы прилег. А так в день 5-7 новых регистраций приходит.

(2) IBM присоединились к Challenge. Для тех, кто пилит решения на IBM WatsonX будет отдельный Leaderboard, призы и поддержка от экспертов IBM. Кстати, у них на платформу завезли deepseek-r1-llama-70B, который пока держится на 4м месте моего reasoning бенчмарка. Поэтому если кто-то уже работает с IBM, то есть все шансы показать достойный результат.

(3) Я прямо сейчас занимаюсь обновлением question генератора для второго раунда. Скорее всего, уже завтра в github выложу обновленную версию и начну в дискорде отвечать на все вопросы. Потом на следующей неделе хочу запустить все API и провести dry run для всех желающих. Со временем пока не определился - whenever ready.

Регистрироваться можно тут.

Ваш, @llm_under_hood 🤗

PS: Я с IBM напрямую не работал - терпения не хватило разбираться в их UX и процессах, поэтому сам подсказать ничего не смогу. Но эксперты смогут помочь - завели отдельный ibm-track канал на дискорде.
34🔥27👍3🤗3
Старожилы канала поймут и этот мем и вот этот комментарий в чате:

Нам схема с русскими подписями в кейсе + 8% к точности дала


Ваш, @llm_under_hood 🤗

PS: Если впервые заходите в чат, пожалуйста, не игнорируйте запрос от бота канала. Он бдит, банит ботов и не понимает шуток.
🔥34😁23👍5💯3😢2
Enterprise RAG Challenge: Updated question generator

Новая версия опубликована тут. Она использует расширенный dataset с метаданными всех PDF (извлечены при помощи gpt-4o-mini + SO) - dataset_v2.json. Он добавлен в repository, чтобы можно было генерировать вопросы локально. А сами PDF файлы под задачу уже выложим во время RAG Challenge.

Обращаем внимание на схему ответа:


class SourceReference(BaseModel):
pdf_sha1: str = Field(..., description="SHA1 hash of the PDF file")
page_index: int = Field(..., description="Physical page number in the PDF file")


class Answer(BaseModel):
question_text: str = Field(..., description="Text of the question")
kind: Literal["number", "name", "boolean", "names"] = Field(..., description="Kind of the question")
value: Union[float, str, bool, List[str], Literal["N/A"]] = Field(..., description="Answer to the question, according to the question schema")
references: List[SourceReference] = Field([], description="References to the source material in the PDF file")


class AnswerSubmission(BaseModel):
answers: List[Answer] = Field(..., description="List of answers to the questions")
team_email: str = Field(..., description="Email that your team used to register for the challenge")
submission_name: str = Field(..., description="Unique name of the submission (e.g. experiment name)")


Теперь нужно не только извлечь правильный ответ по схеме, но и упомянуть страницы, с которых он был извлечен - в качестве доказательства. Это как раз та самая работа со ссылками и цитатами, которую очень любит корпоративный сегмент.

В начале следующей неделе я выложу информацию по submission API, а в четверг можно будет сделать тестовый dry run.

Ваш, @llm_under_hood 🤗
👍31🔥174🤗4🤝3
Как работать с информацией при построении своих RAG систем?

Я сейчас собираю материал для дополнительного видео к курсу, чтобы ответить на вопрос "Ну собрали мы онтологию для поиска информации по ответу пользователя, а дальше что?" И нашел фотографию, которая наглядно описывает весь процесс.

Раньше так люди исследования вели и книги писали! И умудрялись умещать кванты знаний в странички блокнотов и библиотечные карточки. Zettelkasten растет оттуда (и немного - Obsidian). И вот эта концепция манипулирования большими объемами информации через небольшие структурированные ссылки, цитаты и заметки как раз идеально ложится на работу с текстовыми LLM.

Разве что мы теперь можем не по десятку карточек в минуту перетасовывать теперь, а по десятку тысяч.

Ну а Domain-Driven Design как раз описывает процессы копирования человеческих процессов подобных данному в цифру. DDD уделяет очень много внимания языку и смысловым концепциям (Ubiquitous Language, Bounded Context, Context Mapping итп) и LLM-ки обучены хорошо работать с человеческим миром через языки.

Использование DDD + LLM для отражения подходящих человеческих процессов в цифре - это весьма мощный и удобный инструмент.

Ваш, @llm_under_hood 🤗
56🔥18👍13🤝3
AI in Coding или эксперимент с агентами

Если кратко, у нас на одном проекте стоит повторяющаяся задача. Нужно извлекать структурированную информацию из сайтов. Структура известна достаточно жестко, но сайты постоянно меняются. И каждый раз ходить по страницам, выбирать html, писать селекторы итп - надоедает.

Коллега, который сталкивается с этой задачей не в первый раз, решил попробовать написать пару кодинг агентов с инструментами. Идея такая - натравливаем их на какой-то сайт и уходим пить чай. По возвращении получаем готовый код, который уже может автоматически извлечь данные из сайта.

Поэтому решили поставить эксперимент - выделить пару дней на попытку прототипирования таких агентов. Естественно, агенты для написания кода писались при помощи Claude/ChatGPT (ибо код давно уже почти никто не пишет - все разленились).

Задача не стояла “сделать”, а “пощупать и посмотреть, как далеко можно пройти за пару дней”. Это типичный timeboxing из стартапов.

Вот финальный протокол эксперимента:

Короче с агентами, в упрощенном виде все работает. Делаю так. Есть несколько агентов, которые заточены делать определенную функцию:

(1) поиск селектора для каталога - в итоге очень замудрено и проще его самому достать и передать, поэтому потом откажусь.
(2) генератор кода, который из html кода строки генерирует конвертер в json
(3) генератор кода, который делает next page, то есть переключает pagination

Агенты пишут самостоятельно эти генераторы (for loop) и при этом приводят к определенному интерфейсу.

Далее айдеру у себя в коде говорю, что надо уже написать полный парсер каталога, передаю ему интерфейсы инструментов, которые написали агенты, говорю про селекторы. Он уже потом генерирует код. Эту часть можно так же автоматизировать через агента, но хватит с меня экспериментов 😂

По сути, все это в разы быстрее можно было делать напрямую через aider. Но, если условно стояла бы задача “вот 100 клиентов, делайте”, то можно было запустить генератор по массиву и пойти пить чай.


Айгиз есть в чате канала, можно задавать ему там вопросы в обсуждении этого поста.

Ваш, @llm_under_hood 🤗

PS: Если впервые заходите в чат, пожалуйста, не игнорируйте запрос от бота канала. Он бдит, банит ботов и не понимает шуток.
🔥39👍2512🤔2😢2
Coding for AI - Как я быстро запускаю сервера с AI сервисами

Меня очень радует, когда в небольшой слайс времени и внимания получается упихнуть заметный объем работ за счет эффективного использования современных технологий. Сейчас как раз случился аналогичный пример - не могу не поделититься.

Итак, нужно быстро завести и запустить с нуля сервер с парой AI сервисов на разных языках, разными зависимостями, нормальным HTTPS, настройками network и SystemD? Чтобы все конфигурации были версионированы, применялись автоматически, а в случае проблем AI сервер можно было перезагрузить на любую предыдущую конфигурацию.

Плюс, естественно, надо дать доступ разработчикам к deployment pipelines, чтобы они могли сами выкатывать новые версии. И чтобы новые сервисы, DEV/PROD слоты втыкались в сервер без проблем, а сам AI сервер с потрохами можно было при желании перенести на другое железо или переупаковать в виртуальную машину.

На все это суммарно ушло несколько часов, включая отладку, организационные нюансы, постановку пары небольших процессов, документацию итп.

Как все это делается?
- Разработчики заранее сами разрабатывают сервисы так, как им это удобно. Используют ChatGPT/Claude и их друзей. Один сервис на Python, другой в данном случае - Golang. Не суть столь важно
- Заводим виртуальную машину, где быстрее и проще, переключаем на NixOS.
- Кидаем ChatGPT в проект “DevOps Wizard” краткое описание сервисов, путей, необходимых ресурсов и просим одним файлом описать виртуальную машину.
- копируем выхлоп на 100 строчек, проглядываем глазами и запускаем команду nixos-rebuild switch. Через десяток секунд все будет развернуто, в OS установятся нужные зависимости, добавятся нужные ключи инженеров и переменные окружения, появятся SystemD слоты для запуска самих сервисов, Reverse Proxy получит HTTPS сертификаты и настроит раутинг, а порты - откроются.

В чем фишка? Проект “DevOps Wizard” - это просто типовая инструкция, которая велит LLM-ке подумать и написать аккуратную конфигурацию для NixOS. Там есть пара примеров разворачивания аналогичных систем просто для того, чтобы LLM-ка видела привычные правила форматирования и названия переменных.

Плюс поскольку все проекты уже спокойно укладываются в портфель из известных кейсов и паттернов, то и конфигурация достаточно типизированная (если только не нужно возиться с хитростями CUDA).

А если есть host.nix, то полностью перенастроить сервер на новую конфигурацию - это дело секунд.

Технология на базе NixOS настолько безотказная, простая и работающая (на моих кейсах), что все просто работает. Главный недостаток системы - по-своему упоротый синтаксис и относительная нишевость (админы обычно знают про Ansible, Chef или puppet). Но если бОльшую часть работы по возне с Nix DSL берет на себя LLM, а результаты налицо, то это мало кого волнует.

В итоге - одно удовольствие быстро разворачивать AI сервисы, если вдруг это надо срочно сделать самому.

А у вас есть свои примеры технологий, которые доставляют сплошную радость от использования?

Ваш, @llm_under_hood 🤗
🔥59👍1514🤝5🤯1
Enterprise RAG Challenge - тестовый прогон 20 февраля

Завтра, 20 февраля в 12:00 UTC+1 / 14:00 MOW пройдет тестовый прогон Enterprise RAG Challenge. Это будет просто тестовая проверка всех систем. Я сгенерирую вопросы, выложу PDF, покажу запущенный Submission API/UI.

Если интересно задать свои вопросы и пообщаться, то приходите в discord (ссылка на него приходит после регистрации). Но это не обязательно. API и файлы останутся доступны и после, а ссылки я на них продублирую.

Ваш, @llm_under_hood 🤗

PS: Кстати, у участия в RAG Challenge или курсе по ассистентам есть побочный эффект - вас могут схантить к себе в команду. Были уже прецеденты. Так вот, не удивляйтесь, если произойдет такое:

Блин. Мне тут из-за тебя походу новую работу предложили


Такие новости меня жутко радуют. Это результат того, что вы изучаете и применяете на практике паттерны и кейсы!

А еще в чате курса со вчерашнего дня висит такое объявление от стартапа - сейлсы, ходите осторожно там:

Ну вот найти бы продажника кто пошел и купил этот курс) Есть тут такие?)
🔥26👍11🤝4
Enterprise RAG Challenge - тестовые данные и LLM для запуска бесплатно

ERC - это дружеское соревнование на лучший в мире RAG по годовым отчетам компаний. У нас уже больше 300 заявок, на keynote расскажет про раги в бизнесе директор Intel по области AI GTM, а IBM спонсирует дополнительный набор призов. Прочитать можно тут.

У нас уже готовы тестовые данные для подготовки к раунду (PDF и вопросы в новом формате): https://rag.timetoact.at/data/r2.0-test/ А в соседней папке 27 февраля появятся официальные данные для соревнования.

Submission API, куда надо будет отправлять свои ответы, развернут на https://rag.timetoact.at. Можно уже для тренировки попробовать сгенерировать ответы и загрузить их в это API.

Теперь, насчет LLM для запуска. IBM выделили отдельный набор призов для тех, кто создаст RAG систему на основе моделей из WatsonX AI. А на WatsonX у них есть из интересного модели вроде llama-3-3-70b-instruct, llama-3-405b-instruct, llama-3-2-90b-vision-instruct, mistralai/mistral-large и deepseek-r1-distill-llama-70b (ну и пучок embedding models). Список моделей есть тут плюс deepseek-r1-distill-llama-70b сверху.

Так вот, IBM думает предоставить бесплатный доступ к этим моделям для участников соревнования. Это пока не 100%, но попросить уже можно сейчас. Для этого надо зайти в дискорд в канал ibm-track и ответить на последнее сообщение от Daniel (IBM), попросив доступ к inference API WatsonX AI, кратко сказав, какие интересны модели и какая планируется архитектура.

Structured Outputs у них, к сожалению, нет, но c llama/mistral/deepseek и embedding моделями результат показать можно. deepseek-r1-llama-70B может отрабатывать CoT, если ее использовать через outlines или аналог.

Ваш, @llm_under_hood 🤗
🔥225👍3🤝3
В чате канала обсуждают компиляцию SO схем в OpenAI:

> Кстати я заметил то, что в последнее время, если передавать в opeanai довольно сложную схему - то он ооочень долго отвечает (вплоть до минуты)

Речь идет об эффективном использовании OpenAI на полную катушку, когда мы просим выдать ответ в виде определенной схемы Structured Output. Причем, в самой схеме прописывается прямо Custom Chain-of-thought или сложная онтология для анализа. Это экономит кучу промптов и повышает точность. А для своего reasoning - это вообще идеально.

OpenAI пока не догадались брать денег за компиляцию и выполнение сложных схем. Поэтому люди и используют SO на полную катушку, вплоть до отказов компилятора префиксных деревьев. Как с этим жить - обсуждают тут.

Кстати, локально такое тоже делается и работает хорошо. Чаще всего, vllm + outlines/xgrammar упоминается. А если запустить под капотом deepseek-r1-distill-llama-70B, то gpt-4o остается далеко за бортом.

Ваш, @llm_under_hood 🤗

PS: Если впервые заходите в чат, пожалуйста, не игнорируйте запрос от бота канала. Он бдит, банит ботов и не понимает шуток.
🔥4110👍6🤝5🤔1
LLM Benchmark Anthropic Claude 3.7 - внезапно хорошо

Все знают, что Anthropic Claude очень плохо ведет себя на моих бенчмарках. В июле прошлого года две модели еще были в top 10, но потом их вытеснили более смышленые модели, которые не стояли на месте.

Но вот прошло время. Сменилась версия Claude и сменился сам бенчмарк - он теперь учитывает способность моделей к рассуждению.

anthropic/claude-3.7-sonnet на данный момент лучше всех моделей gpt-4o (запускал я его пока с дефолтовыми параметрами через OpenRouter). И это несмотря на то, что Anthropic до сих пор не поддерживает Structured Outputs!

Как я работаю с моделями без нормального SO? Отправляю им Pydantic схему прямо в виде питона, плюс отправляю JSON пример с заполненными полями. JSON Schema не отправляю - она только запутает модель, если ее специально не обучали.

Так вот, у anthropic/claude-3.7-sonnet не было ни одной ошибки в следовании формату на довольно нагруженных схемах! А когда модель точно следует формату (даже без перил в виде constrained inference), то расположение элементов в ответе как раз то, которое нам нужно. И если мы в схеме проложили свои чеклисты и CoT цепочки, то LLM будет на них опираться.

Схемы с онтологиями на 150 Literals я бы в Claude не стал отправлять (как это переваривает OpenAI или vllm+outlines/xgrammar), но что-то небольшое тут работает очень хорошо.

Ваш, @llm_under_hood 🤗

PS: Бенчмарк пока еще черновой. Туда загружено только 20% кейсов.

PPS: А почему не использовать instructor для моделей без SO? А вы видели его итоговый промпт? Он Claude совсем завалит.
32🔥20👏9🤣3👍1
Anthropic Claude 3.7 thinking - второе место!

Если вы очень любите Claude, то сделайте себе скриншот этого сообщения.

Anthropic Claude 3.7 в reasoning режиме вышла на второе место в моем бенчмарке! Она обогнала o1 в medium reasoning и "выбила" 100% в coding.

Reasoning parameters у этой модели: общий бюджет на ответ - 25k tokens. Из них 80% отводится под нативный reasoning. Плюс у модели еще есть слоты на размышления в рамках схемы ответа.

У Anthropic по-прежнему нет Structured Outputs, но с такими когнитивными способностями они ей и не нужны. JSON схема не была нарушена ни в одном случае.

Как я запускаю Reasoning модели без нативного SO? На вход подается с задачей описание схемы в виде кода (прямо pydantic текстом) и вручную написанный пример в JSON. Json schema я им не подаю, т.к. это обычно путает модели без SO на моих кейсах.

Предупреждаю, что 100% в coding у Claude 3.7:thinking будет не долго. У меня на подходе в бенчмарк набор тестов на разработку, анализ и исправление кода, в которых путаются все топовые модели. Поэтому оценки всех моделей позднее поедут немного вниз.

Ваш, @llm_under_hood 🤗

PS: Бенчмарк пока еще черновой. Туда загружено только 20% кейсов. Прочитать про мой подход к бенчмаркам можно тут. Там есть и FAQ со всеми вопросами, которые мне задают последние полтора года.
👍6820🔥16😁4🤩3👏2🎄2🥰1
AI and Context - директор AI GTM из Intel рассказывает интересное на Enterprise RAG Challenge

Прямая ссылка на MS Teams Video

Ваш, @llm_under_hood 🤗

PS: Если хотите узнать что-то у него про бизнес с AI в Европе - задавайте вопросы в чате в discord
👍265🔥4🤔4😁1
- Где найти толковых LLM-инженеров?
- Как найти хорошего консультанта, который знает про SO, reasoning и паттерны?
- Какой команде можно доверить приземление материалов из курса по AI ассистентам в процессы компании?


Вопрос интересный, особенно с учетом того, что поле деятельности довольно новое и все меняется достаточно быстро.

Очень просто - смотрите на тех, кто работает активней всего в этом направлении. Кто рассказывает про кейсы, учится и участвует в курсах, пытается делать что-то новое, задает интересные вопросы в communities LLM под капотом и отвечает на них.

Можно вот прямо сейчас зайти в discord ERC и посмотреть, как люди на скорость анализируют PDF, обсуждают подходы и trade-offs. Обращайте внимание на автарки и ники - многие из них есть и в нашем чате.

Ваш, @llm_under_hood 🤗

PS: Похоже, хантить тоже уже начали 😁
45😁26👍8👏3🤝2🔥1
Если вы написали пост про свое участие в Enterprise RAG Challenge, киньте, пожалуйста, ссылку на него в комментарии сюда.

За opensource решений в Github - с меня пиво)

Я потом соберу сводную публикацию, чтобы ничего не упустить.

Ваш, @llm_under_hood 🤗
22🔥14🤝8
Бенчмарк OpenAI GPT-4.5 preview - не докручивает

Новый GPT-4.5 preview в моем reasoning бенчмарке внезапно показал себя всего лишь на уровне топового GPT-4o, что не очень много.

Я пока не буду делать поспешных выводов о качестве модели. Это preview версия, и все может сильно поменяться (у Google такое бывало не раз с preview версиями). Плюс сам бенчмарк довольно нишевый под бизнес задачи, и пока не заполнен кейсами до конца.

Давайте посмотрим, как эта модель думает и где подскальзывается.

Как я запускаю модели без Reasoning режима в бенчмарке? В StructuredOutput схеме у меня есть специальные "слоты" на размышления. В каждом тесте - своя схема. Эти слоты расположены таким образом, чтобы в процессе ответа помогать модели двигаться в правильном направлении. В итоге у нас получается паттерн Checklist/Custom CoT, который хорошо работает в бизнес-кейсах.

Один из тестов в новом бенчмарке - работа с кодом и доменными моделями. Дается здоровый файл с event sourcing aggregate для кредитной карты (баланс, транзакции, лимиты, KYC, авторизации итп) вместе со спеками. LLM задается вопрос о последствиях добавления новой фичи:

Which specs would fail, if I add a new feature to automatically block the card and decline any transaction above 1,000 (regardless of available credit)?

Посмотрим, как решает эту задачу GPT-4.5 preview - см short_thought_steps. Она смотрит список всех спеков, где идет речь о транзакциях больше $1000, проверяет их и дает варианты:


{
"short_thought_steps": [
"Review transaction-related specs.",
"Identify specs with transactions over 1,000.",
"Check if these specs expect successful transactions."
],
"failing_spec_names": [
"authorize_transaction_success",
"make_payment_success",
"close_card_success",
"close_card_fails_if_balance_not_zero"
]
}


Кстати, правильный ответ в данном тесте - сломаются спеки "authorize_transaction_success", "transaction_declined_over_limit"

Что говорит claude-sonnet-3.5 (без reasoning) в этом тесте? Модель анализирует глубже и дает более корректные выводы:


{
"short_thought_steps": [
"1. The new feature will block cards and decline transactions over $1,000",
"2. Need to identify specs that authorize transactions over $1,000 and expect success",
"3. Need to identify specs that assume a card stays active after a large transaction",
"4. Need to check specs that assume transactions are only declined for credit limit reasons"
],
"failing_spec_names": [
"authorize_transaction_success",
"post_transaction_success",
"transaction_declined_over_limit"
]
}


А что же делает deepseek-r1-llama-70b? Почему эта небольшая локальная модель по очкам работает лучше, чем GPT-4.5 и куча других моделей?

Этот тюн Llama-70B научился включать reasoning режим и думать тензорами, закидывая проблему токенами.

Она сначала подумает текстом, а потом в том же промпте выдаст правильный ответ. Пусть у нее нет выделенного reason режима (нельзя контроллировать в рамках одного промпта, сколько она думает), но изображает она его очень неплохо (см полный текст ответа).

В итоге финальные рассуждения правильны:


{
"short_thought_steps": [
"Identify specs where transactions exceed 1000",
"Check if these specs expect successful authorization",
"Determine if the new feature changes the expected outcome"
],
"failing_spec_names": [
"authorize_transaction_success",
"transaction_declined_over_limit"
]
}


Понятно, что это только один из примеров. Но в среднем по больнице такая картина сохраняется и на других тестах. GPT-4.5-preview пока не только проигрывает reasoning моделям (что ожидаемо), но и отстает от обычных моделей, которые могут изображать reasoning при наличии доступных слотов.

Ваш, @llm_under_hood 🤗
👍5014🔥8🤯3🤔2🤩2😢1🎄1
Самые популярные архитектуры в Enterprise RAG Challenge

Вот вам краткая выжимка того, что люди использовали во время Enterprise RAG Challenge round 2. Она сделана на основе анализа 55 описаний архитектур, которые заполнили команды.

🤗 Спасибо всем, кто участвовал и заполнял! 🤗

Key Takeaways

- RAG is near-universal. Almost every approach tries to solve the “long PDF → targeted answer” problem by chunking, storing embeddings, retrieving relevant sections, then letting the model “read” only those sections.
- Structured prompts (with JSON/Pydantic) were popular to ensure consistent outputs—particularly for numeric or Boolean questions that required a definite format.
- Chain-of-thought or multi-step reasoning is common, sometimes with multiple LLM calls for expansions, validations, or final re-checks.
- Performance + Cost trade-offs surfaced: several teams used “fast & cheap” LLMs for search or chunk-labelling, then a heavier model (e.g., GPT-4o) for final answers.

Most submissions combined:
- Document parsing (Docling, PyMuPDF, or similar),
- Vector or keyword-based retrieval (FAISS, Qdrant, BM25, etc.),
- Iterative LLM-based reasoning (chain-of-thought or agent-like flows),
- Structured response schemas (Pydantic or JSON).

Despite the variety of LLM families (OpenAI GPT-4o variants, Llama, Gemini, Qwen, DeepSeek, IBM Granite, Microsoft phi, etc.), the underlying RAG pipeline structure remained strikingly consistent: parse PDFs, embed or index them, fetch relevant chunks, and prompt an LLM to produce carefully formatted answers.

А то, насколько хорошо все эти архитектуры показали себя в рамках соревнования - мы узнаем уже в эту пятницу.

Ваш, @llm_under_hood 🤗
🔥69👍1713🤝5
Презентация «The Power of Context» от Stefan Gillich (директор AI GTM в Intel).

Основная часть довольно техническая, но потом он отвечал на вопросы из нашего канала. В основном, это было про то, какой AI нынче востребован крупным бизнесом.

https://youtu.be/_2gPwGSSxs0

Ваш, @llm_under_hood 🤗
👍24🔥12🎉4
На чем запускать локальные модели?

В нашем комьюнити очень много людей и команд с практическим опытом локального разнообразных систем с LLM под капотом. Это видно по RAG решениям на ERC, обсуждениям в чате и представлениям в группе курса.

А давайте поговорим про то, как вы запускаете свои системы для пользователей? Речь не столько про запуск через ollama на ноутбуке, сколько про разворачивание системы для 5-30 одновременных пользователей (скорее throughput, чем latency).

- Какие модели используете?
- Как заводите Structured Outputs (если используете)?
- Какое железо и inference framework под капотом, с какими параметрами?
- Сколько tokens per second получается выжать и с какими контекстами.

Но, самое главное, как оно вообще вам на практике?

Ваш, @llm_under_hood 🤗

PS: Если кажется, что в комментариях дискуссия прервалась - она могла отвязаться от обсуждения и провалиться в чат канала: @llm_driven_products.

PPS: Если впервые заходите в чат, пожалуйста, не игнорируйте запрос от нашего бота. Он бдит, банит ботов и не понимает шуток.
👍3610🔥9🤝2
Завтра в 10:00 по CET (UTC+1) я расскажу про победителей Enterprise RAG Challenge и новые инсайты. Встретимся в MS Teams. Ссылку на встречу выложим в discord, а видео - потом на Youtube.

А пока, для затравки, самый первый инсайт. Он очевиден, и я рассказывал про "signal vs noise" и на вебинарах и в курсе, но так наглядно я его увидел впервые.

Качество ответов RAG системы всегда будет ограничено качеством работы retrieval части. Если Retrieval тащит мусор или нерелевантную информацию в контекст - то это опускает максимальный предел точности всей системы в целом. Если Retrieval пропускает нужную информацию - тоже самое.

Посмотрите на Retrieval Score и Generation Score в таблице в комментариях. R-Score - оценивает то, насколько правильно найдены релевантные страницы. G-Score - насколько правильны в итоге ответы.

Напомню, что R-score я обычно своих систем считаю сурово. Изначально есть балл. За каждую ненужную цитату - минус 0.1, за каждую пропущенную цитату - минус 0.25.

Результаты Enterprise RAG Challenge показывают, что такой алгоритм оценки, внезапно, неплохо аппроксимирует теоретический потолок точности RAG системы. Практически всегда [1] G-Score ниже, чем R-Score. Это как если бы Retrieval часть задавала теоретический предел точности системы. А вот получится ли его реализовать - уже зависит от мощности модели и последнего reasoning шага. Signal-vs-noise на входном контексте этапа синтеза-генерации.

Отсюда следует и обратное. Если Retrieval Score хороший, но итоговые ответы - не очень, то что-то мы на самом последнем этапе недокрутили. Тут можно улучшить.

Побольше про это мы поговорим на объявлении итогов соревнования завтра. Приходите!

Ваш, @llm_under_hood 🤗

---
[1] "практически всегда", но не "всегда". За пределами TOP-25 есть примеры, где retrieval достает много мусора, но generation часть в целом находит ответы.
👍51🔥2010🙏2