Гібридний пошук: як ваш AI-агент може знати все, навіть ваші думки!
Вітаю, друзі! З вами Ліла Гарт, і сьогодні я підготувала дещо особливе. Знаєте, як буває: ви шукаєте цукерку в шафі, а сусідка вже знає, яку саме ви хочете, бо бачила, як ви минулого тижня дивилися на полицю з ними? Ось так само, а може, й краще працюють сучасні AI-агенти, коли ми даємо їм правильні інструменти.
Минулого тижня, за чашкою ароматної кави, мій друг-розробник, людина, яка проводить більше часу з кодом, ніж із людьми (жартую!), розповів мені про нову стратегію для RAG-агентів. І знаєте що? Це мене так захопило, що я мусила поділитися цим з вами! Йдеться про гібридний пошук – це коли ваш AI-бот не просто слухає, але й розуміє, що ви маєте на увазі, і навіть знаходить те, про що ви ще й не здогадалися запитати.
Уявіть: ви ставите питання, а ваш агент шукає відповідь як справжній детектив. Він може шукати як за ключовими словами – наче ви питаєте: “Де знайти рецепт борщу?”, і він знаходить усі згадки про “борщ”. А може шукати семантично – розуміючи, що “український національний суп” – це теж про борщ, навіть якщо слово “борщ” не згадується. Гібридний пошук робить і те, і інше одночасно! Це як мати два ока, що бачать світ по-різному, але разом дають повнішу картину.
І найкрутіше – це не якась космічна технологія, доступна лише обраним. Навпаки, сьогодні ми поговоримо про те, як побудувати такого розумного агента, використовуючи простий, але надзвичайно потужний стек інструментів. Я покажу вам, як це працює, розкладу все по поличках, і ви зможете навіть взяти цей шаблон і збудувати свого власного генія. Готові до захопливої подорожі у світ розумного пошуку? Тоді заварюйте міцніше, бо буде цікаво!
Наш супергеройський техностек: MongoDB, Pydantic AI та Docling
Для будь-якого RAG-агента (ті, що вміють шукати і знаходити інформацію у ваших документах), перше питання: де ж цю інформацію зберігати? Де буде жити наша база знань? І тут на сцену виходить MongoDB. Чесно кажучи, я колись давно працювала з нею, але ніколи не думала, що вона стане нашим головним сховищем не тільки для традиційних даних, але й для векторів! Так-так, MongoDB може бути і вашою векторною базою даних. Це NoSQL база, тож ми можемо зберігати записи про документи, а також шматки тексту (чанки) з їхніми емульсіями (це такі числові представлення слів, що допомагають комп’ютеру розуміти значення). І найцікавіше – MongoDB дає змогу нам дуже швидко шукати як за текстом, так і за векторами. Це справжня знахідка!
Для тих, хто не в курсі, MongoDB має чудові гайди щодо RAG, і саме вони стали джерелом натхнення для мого агента. Дякую їм за це!
Далі – наш мозок. Для створення AI-агента ми використовуватимемо Pydantic AI. Це мій улюблений фреймворк вже котрий рік, і вони постійно випускають круті оновлення. Їхня документація стає дедалі кращою, інтеграцій – більше, а використовувати їх – простіше, не втрачаючи гнучкості. Pydantic AI буде серцем нашого агента, а всі інструменти, які ми йому дамо, працюватимуть з MongoDB.
І третій учасник нашої команди – Docling. Це потужна бібліотека для обробки файлів. Нам же потрібно якось завантажити дані у нашу базу, правда? Docling робить це надзвичайно легко: витягує текст з PDF, Word-документів, Markdown, навіть аудіофайлів! Крім того, Docling допоможе нам з чанкингом – тобто розбиттям великих документів на менші шматки. Ми використовуватимемо “гібридний чанкинг”, про який я вже розповідала в одному зі своїх відео [посилання]. Це допоможе нам створити акуратні, добре структуровані чанки.
Ось такий наш чудовий тріумвірат: MongoDB для зберігання даних, Pydantic AI – для інтелекту, а Docling – для підготовки матеріалу. Звучить як план, чи не так?
Два шляхи до істини: ключові слова проти Семантики
Перш ніж ми зануримося в те, як це все працює разом, давайте розберемося, чому нам взагалі потрібен цей гібридний підхід. Уявіть, що ви шукаєте щось в інтернеті. Є два основні способи:
-
Пошук за ключовими словами: Це як запитати у дитини: “Знайди мені червону машинку”. Вона шукатиме саме червону машинку. Якщо ви запитаєте “борщ”, вона знайде все, де є слово “борщ”. Дуже точно, дуже прямолінійно.
- Плюси: Гарантовано знайдете точні терміни. Якщо вам потрібна конкретна юридична стаття чи ім’я персонажа, ключові слова – ваш вірний друг.
- Мінуси: Не розуміє синонімів. Якщо ви шукаєте “швидкий комп’ютер”, а в базі є стаття “Як оптимізувати ваш ПК”, ключовий пошук може її пропустити, бо там немає слова “швидкий”. Він також не зрозуміє “смачний суп”, якщо шукати “борщ”.
-
Семантичний пошук: А це вже розмова з дорослим. Ви питаєте: “Порадь мені щось поїсти на вечерю”, і він розуміє, що це може бути і легкий салат, і ситна паста, бо це все – їжа на вечерю. Він шукає за значенням, за концепціями.
- Плюси: Розуміє зв’язки між ідеями. Знаходить синоніми, споріднені поняття. Це як запитати про “короля”, і він знайде інформацію і про “королеву”, бо це все – про королівську родину.
- Мінуси: Не завжди гарантує точність. Якщо є кілька згадок про “дохід за 2023 рік”, він може знайти не саме те, що ви шукаєте, якщо йому не дати конкретизацію. Він може знайти “яблуко”, коли ви мали на увазі акції Apple (AAPL).
І ось тут виникає запитання: а що, якби ми могли поєднати найкраще з обох світів? Знаходити і точні терміни, і розуміти глибинний зміст? Саме це і робить гібридний пошук. Він використовує обидві стратегії одночасно, а потім об’єднує результати. Це як мати детектива, який знає як шукати гарячі сліди (ключові слова), так і будувати логічні ланцюжки (семантика).
Демонстрація сили: наш AI-агент у дії!
Щоб показати вам, як це працює, я підготувала шаблон агента [посилання]. Ви можете знайти посилання на нього в описі – сміливо використовуйте! Він вже наповнений даними, і ми можемо почати ставити йому запитання.
Запитання 1: “Який розподіл доходів за лініями обслуговування?” (Це питання з PDF-документа)
Дивіться, агент розуміє, що нам потрібен так званий “search knowledgebase tool”, і вказує тип пошуку як “hybrid”. За кілька секунд отримуємо відповідь: детальний розбір доходів за різними послугами. Це може бути результат роботи як ключового пошуку (знайшов слово “доходи”), так і семантичного (зрозумів, що “лінії обслуговування” – це теж про послуги).
Запитання 2: “Який дохід Neuroflow за 2025 рік?”
Це вже цікавіше. Семантичний пошук може заплутатися, якщо в базі багато даних за різні роки. Але наш гібридний агент, завдяки саме ключовому пошуку (а ще й з fuzzy matching – про це трохи згодом!), дає точну відповідь. Ключове слово “2025” та “дохід” гарантують, що ми отримаємо правильну інформацію, навіть якщо в тексті є помилки або невеликі варіації.
Запитання 3: “Який план запуску підготовки до випуску Converse Pro?” (Інформація з Word-документа, нотатки з зустрічі)
І ось тут семантичний пошук сяє! У документі немає слова “план запуску” чи “таймлайн” у прямому сенсі. Але агент розуміє, що “підготовка до випуску”, “програма раннього доступу”, “вебінар” – це все частини загального плану. Він зміг витягти інформацію про дати, пов’язані з запуском. Це те, що чистий пошук за ключовими словами, швидше за все, пропустив би.
Чому тип пошуку – це параметр?
Ви помітили, що агент може вибрати “semantic”, “keyword” або “hybrid”? Це тому, що іноді для швидкості або економії ресурсів (менше токенів!), можливо, варто вибрати лише один тип пошуку. Наприклад, якщо ви знаєте, що запит дуже специфічний, можна вибрати тільки ключові слова. А якщо ви хочете дослідити ширшу тему, то семантика буде кращою.
Гібридний пошук – це частина “Agentic RAG”
До речі, я часто розповідаю про “Agentic RAG” – це коли агент має свободу вибирати, як досліджувати вашу базу знань. Він може прочитати документ, зробити RAG-пошук, або, як у нашому випадку, вибрати між ключовими словами, семантикою, чи обома. Гібридний пошук – це просто ще один, дуже потужний, інструмент в арсеналі такого агента.
Коли хто кращий? Розбір польотів: Semantic vs. Keyword
Коли сяє Semantic Search:
- Пошук концепцій: Шукаєте “короля” – знайде “королеву”, бо це все про королівську родину.
- Зв’язок ідей: “Дешеві авіаквитки” – знайде статті про “доступні перельоти”.
- Протилежності: Шукаєте “повільний комп’ютер”, а він знайде статтю “Як прискорити ваш ПК”, бо це теж стосується продуктивності.
- Ідентифікація: “Берлін” – знайде інформацію про столицю Німеччини.
Коли перемагає Keyword Search:
- Точність: Шукаєте конкретний код помилки (“409 error”) – знайде саме його.
- Специфічні терміни: Імена продуктів, юридичні статути, конкретні цифри (якщо вони чітко вказані).
- Назва бренду: Шукаєте “AAPL” – знайде акції Apple, а не фрукт.
- Обмеження: Хочете знайти тільки інформацію про “Короля Георга”, а не про всіх королів взагалі.
Fuzzy Matching – наш рятівник від помилок!
А тепер про “fuzzy matching”, про яке я згадувала. Уявіть, що в базі даних є помилка в слові, або ви випадково зробили одруківку. Звичайний пошук за ключовими словами одразу покаже “нічого не знайдено”. Але fuzzy matching дає змогу знаходити слова, навіть якщо є невелика різниця у написанні (кілька літер, префікс). Це значно підвищує шанси знайти потрібну інформацію, навіть якщо вона не ідеально записана. Це робить пошук більш “людяним” і терпимим до помилок.
За лаштунками: як працює магія MongoDB та RRF?
Гаразд, ми поговорили про теорію. А як це все реалізовано технічно? MongoDB має чудовий інструмент – агрегаційний пайплайн. Це як конвеєр, який дає змогу нам отримувати дані з бази, трансформувати їх і вибудовувати потрібну структуру.
Пайплайн для Semantic Search:
- Перший Lookup (Embeddings): Ми створюємо векторний запит і шукаємо в базі найближчі (найбільш схожі) за значенням чанки – зазвичай, топ-10.
- Join з документами: Ці 10 чанків ми поєднуємо з оригінальними документами, з яких вони були витягнуті. Це дає нам доступ до метаданих: з якого файлу чанк, коли він був завантажений, яка довжина всього документа тощо. Саме це дало нам змогу сказати, що інформація про “Converse Pro” була з “internal meeting notes” від такої-то дати.
- Unwind: Ми перетворюємо масив даних в один об’єкт, щоб було зручніше працювати.
- Витягнення Similarity Score: Це ключовий момент! Ми отримуємо “оцінку схожості” для кожного чанка.
Пайплайн для Keyword Search:
Він дуже схожий, але замість векторного пошуку використовує fuzzy keyword search. І так само витягує оцінку схожості.
Проблема: Оцінки схожості з цих двох пайплайнів мають різні шкали. Одна може бути від 0 до 1 (наприклад, 0.85), а інша – від 0 до 100 (наприклад, 15). Як зрозуміти, що краще: 0.85 від семантики чи 15 від ключових слів?
Рішення: Reciprocal Rank Fusion (RRF)
Саме тут на допомогу приходить Reciprocal Rank Fusion (RRF). Це алгоритм, який дає змогу нам об’єднати результати з різних пошукових систем (у нашому випадку, семантичного та ключового пошуку), використовуючи їхні позиції у рейтингу, а не сирі оцінки. Це дає змогу нормалізувати результати і визначити найкращі чанки, незалежно від того, звідки вони походять.
MongoDB навіть працює над інтеграцією RRF безпосередньо у свої пайплайни (це поки що в прев’ю-версії). Але навіть реалізувавши його самостійно, ми отримуємо вражаючі результати.

(Це як мати карту, де кожен шлях показано по-різному, але RRF допомагає знайти найкоротший і найзручніший маршрут до мети)
Швидкість – це теж важливо!
Навіть з усіма цими складними кроками – два пошуки, потім об’єднання – наш агент працює надзвичайно швидко. Зазвичай, увесь процес від запиту до відповіді займає менше секунди. Це вражає, чи не так?
Що далі? Ваш крок до розумнішого AI!
Підсумовуючи все вищесказане, наш гібридний RAG-агент – це справжній прорив у тому, як AI може взаємодіяти з вашими даними. Комбінуючи семантичний та ключовий пошук, ми отримуємо:
- Точність: Знаходимо саме те, що потрібно, навіть з одруківками.
- Глибину: Розуміємо контекст та синоніми.
- Швидкість: Результати отримуємо майже миттєво.
- Надійність: Відповіді стають більш повними та точними.
Що ви можете зробити просто зараз?
- Експериментуйте з моїм шаблоном: Посилання в описі! Завантажте код, налаштуйте MongoDB, додайте свої документи і ставте запитання. Подивіться, як це працює на практиці.
- Вивчайте далі: MongoDB, Pydantic AI та Docling – це потужні інструменти. Заглиблюйтесь у їхню документацію, дивіться мої попередні відео про них.
- Думайте про свої задачі: Як цей гібридний пошук може допомогти саме вам? Можливо, це база знань вашої компанії, ваші особисті нотатки чи колекція рецептів?
Світ AI розвивається шаленими темпами, і RAG – це лише один з напрямів, який відкриває неймовірні можливості. Будуйте, експериментуйте і не бійтеся складних завдань!
Дякую, що були зі мною сьогодні. Якщо вам сподобалося це відео, не забудьте поставити лайк і підписатися, щоб не пропустити наступні захопливі історії зі світу технологій. До зустрічі!







