▶️ Дивіться відеотуторіал (15 хвилин)
Наш агент уже вміє переглядати замовлення, класифікувати тікети та пам’ятати контекст розмови. Проте на питання про правила повернення він поки що вигадує відповіді, адже не має доступу до реальних інструкцій компанії.
У цьому епізоді ми створимо для нього базу знань із можливістю пошуку за змістом.
Розберемося, що таке Embeddings. Це текст, перетворений на вектори, які фіксують сенс сказаного. Питання «Як повернути пошкоджений товар?» та «Що робити, якщо посилка приїхала розбитою?» сформульовані по-різному, але мають однакове значення. Тому їхні вектори в математичному просторі знаходяться поруч — саме так працює семантичний пошук.
Ми розробимо модель KnowledgeArticle з векторною колонкою за допомогою розширення pgvector для PostgreSQL, налаштуємо 1536-вимірне поле та використаємо Embeddings facade із Laravel AI SDK для генерації векторів. Спеціальна Artisan-команда автоматично завантажить вісім FAQ-статей у базу.
Для пошуку використаємо метод whereVectorSimilarTo у Laravel 13. Тести показують: система миттєво знаходить потрібну статтю, навіть якщо запит користувача за словами зовсім не схожий на текст у базі.
Наостанок ми підключимо цей функціонал до support agent та оновимо його інструкції, щоб для перевірки правил компанії він завжди звертався до бази знань.
Тепер на запитання «Яка ваша політика повернення?» агент надає точну інформацію з офіційного документа.
У наступному епізоді: використання зовнішніх векторних сховищ та інструмента FileSearch для пошуку в PDF-файлах без написання власної логіки пошуку.