Back to all questions

Що таке Embeddings?

SeniorAI
Seen on interview:1 user

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.

Seen on interview?

Related Questions

AIMiddleSenior

Поясни різницю між short-term i long-term memory

Це запитання часто звучить на співбесідах на позицію AI Engineer, особливо в продуктах, які працюють з Agentic-системами. Відразу варто наголосити, що в таких розмовах зазвичай йдеться не про імплементацію в конкретних фреймворках, а про розуміння самої концепції.

Short-term memory

Простіше кажучи, це той контекст, який система тримає прямо зараз, щоб не втрачати хід думки, пам’ятати попередні повідомлення, уже виконані кроки та проміжні результати в межах однієї сесії.

Тут важливо розуміти, що short-term memory не використовується як глобальний контекст або повноцінний knowledge layer. Її задача - підтримувати ізольований execution flow, щоб система могла послідовно рухатися в межах конкретної взаємодії.

Простий приклад - coding assistant. Якщо ми створюємо агента в умовному Cursor, він триматиме контекст і історію діалогу тієї задачі, яку ми намагаємося вирішити в межах конкретної сесії. Якщо ж ми створимо нового агента або почнемо нову сесію, він уже не знатиме про інші діалоги, якщо цей контекст не був явно збережений окремо.

Long-term memory

Це знання, які система зберігає між різними сесіями, щоб не починати кожну нову взаємодію з нуля. На відміну від short-term memory, вона не потрібна для локального execution flow, а виступає як knowledge layer, у якому накопичуються стабільні факти, user preferences, патерни поведінки та інший контекст, що має цінність у майбутніх взаємодіях.

Якщо short-term memory відповідає за те, щоб система не втратила стан зараз, то long-term memory відповідає за те, щоб система не втратила корисні знання потім.

Comments (0)

Sign in to leave a comment

No comments yet. Be the first!