pgvector — це розширення PostgreSQL, яке зберігає вектори (ембединги) і знаходить найбільш схожі. Завдяки йому магазин може знайти «взуття для дощу» серед товарів, описаних як «водонепроникне взуття», а AI-агент — відповідати на запитання клієнтів на основі ваших умов продажу й описів. Окрема векторна база не потрібна: в Aderlo Cloud pgvector доступний у кожній базі PostgreSQL від моменту її створення.
Як це працює: три кроки
Перетворення тексту на вектор
Модель ембедингів в обраного AI-провайдера перетворює опис товару або фрагмент документа на список чисел (наприклад, 1536 значень).
Запис у PostgreSQL
Вектор потрапляє в колонку типу
vectorпоруч зі звичайними даними: назвою, ціною, адресою сторінки.Пошук за схожістю
Запитання клієнта ви перетворюєте на вектор тією самою моделлю й просите базу повернути найближчі результати.
Мінімальний приклад
CREATE TABLE product_chunks ( id bigserial PRIMARY KEY, product_url text NOT NULL, content text NOT NULL, embedding vector(1536) ); CREATE INDEX ON product_chunks USING hnsw (embedding vector_cosine_ops); -- $1 = вектор запитання, обчислений тією самою моделлю SELECT product_url, content FROM product_chunks ORDER BY embedding <=> $1 LIMIT 5;
Розмірність колонки має збігатися з моделлю ембедингів. Після зміни моделі перерахуйте вектори — вектори двох різних моделей не можна порівнювати.
Застосування в магазині
- Пошук за змістом, який розуміє синоніми й описи потреб, а не лише назви товарів.
- База знань для агента підтримки клієнтів: умови продажу, доставка, повернення — агент відповідає на основі ваших документів, із посиланням на джерело.
- Схожі товари на основі опису, коли бракує даних про покупки.
- Порядок у каталозі: виявлення дублікатів товарів під різними назвами.
AI-агент і pgvector в Aderlo Cloud
Агент, підключений через MCP, може сам створити таблицю з векторами в базі, до якої ви дали йому повний доступ, і виконувати запити до продакшн-бази з доступом лише для читання. Перерахунок векторів можна запланувати в самій базі через pg_cron, а зміни в товарах передавати далі вебхуком із бази. Подробиці про доступ: PostgreSQL для AI-агентів.
Часті запитання
- Чи потрібна мені окрема векторна база, наприклад Pinecone?
- Для магазину з тисячами чи десятками тисяч товарів зазвичай ні. pgvector тримає вектори поруч із даними, тож фільтрування за ціною чи наявністю та пошук за змістом відбуваються в одному запиті.
- Який індекс вибрати: HNSW чи IVFFlat?
- HNSW зазвичай дає кращий баланс швидкості й точності та не потребує даних для побудови індексу; IVFFlat будується швидше й займає менше пам’яті. Документація pgvector описує обидва.