Embeddings - це векторне представлення неструктурованих даних, наприклад тексту, у вигляді числового вектора фіксованої довжини. Такий вектор кодує семантичний зміст об’єкта так, що семантично схожі об’єкти розташовуються близько один до одного у векторному просторі.
Завдяки цьому embeddings використовуються для semantic search, clustering, recommendation, deduplication і retrieval у RAG-системах.
Після того, як embeddings згенеровано і збережено, ми можемо порівнювати їх між собою за допомогою метрик на кшталт cosine similarity або виконувати nearest neighbor search, щоб знаходити найбільш релевантні елементи за змістом, а не лише за точним збігом слів.
Наприклад, фрази “How to connect Node.js to PostgreSQL” і “Node.js PostgreSQL database connection” матимуть близькі embeddings, хоча слова в них відрізняються. Саме тому embeddings дають змогу шукати інформацію не лише за точним збігом слів, а й за змістом, що робить його набагато ефективнішим, ніж звичайний full-text пошук.
На цій схемі показано, як embedding model перетворює неструктуровані дані, наприклад текст, зображення або аудіо, на числові вектори. У результаті семантично схожі об’єкти розташовуються поруч у векторному просторі, що дає змогу знаходити пов’язані між собою елементи та виконувати semantic search.