▶️ Дивитися відеоурок (12 хвилин)
У п’ятому епізоді ми з нуля створювали semantic search за допомогою embeddings та pgvector. Це ідеальне рішення для FAQ та випадків, коли потрібен повний контроль над даними. Але що робити, якщо документації значно більше? Сотні сторінок інструкцій, регламентів та об'ємних PDF-файлів?
У цьому випуску ми спробуємо інший підхід. Завантажимо документи до AI-провайдера, довіримо йому chunking та embedding, а для запитів використаємо інструмент FileSearch із SDK. Жодної математики на нашому боці — лише завантаження та пошук.
Я створюю Artisan-команду, яка генерує vector store під назвою «SupportAI Knowledge Base» та завантажує п’ять markdown-файлів: про політику повернення, доставку, оплату, безпеку та гарантії. ID сховища зберігається в .env та конфігурації для подальшої роботи застосунку.
Ми інтегруємо FileSearch у роботу нашого support agent поруч із інструментом KnowledgeSearch із попереднього випуску. Тепер агент має обидві опції. Ми оновимо інструкції так, щоб він обирав правильний інструмент: KnowledgeSearch — для коротких відповідей на поширені питання, FileSearch — для пошуку в детальних документах.
Під час тестування на запит про пошкоджений товар агент знайшов у документах точну вимогу щодо звітування протягом 48 годин. А на комбіноване питання про номер замовлення та правила сервісу агент одночасно використав OrderLookup та FileSearch в одній відповіді.
Важливий нюанс перед релізом: FileSearch активно споживає токени та потребує коштів на балансі провайдера, оскільки він власноруч хостить і опрацьовує ваші вектори.
У наступному епізоді ми створимо інтерфейс чату на Livewire з підтримкою стрімінгу в реальному часі, щоб клієнти могли повноцінно спілкуватися з агентом.