/
Вопросы и ответы
/
Вайбкодинг
/

Что такое эмбеддинги?

Что такое эмбеддинги?

6 месяцев назад

Никита Вихров

Ответы

0

Что такое эмбеддинги

Эмбеддинг — это числовое представление текста в виде вектора. Модель переводит слово, предложение или документ в список чисел, который отражает смысл.

Пример: слова кот и котёнок будут иметь похожие векторы, а кот и автомобиль — сильно отличающиеся.

Зачем это нужно: компьютер не понимает текст, но умеет сравнивать числа. Эмбеддинги позволяют искать похожие по смыслу тексты, даже если в них нет общих слов.

Где используются:

  • семантический поиск (ищете «как установить зависимости» — находите статью про npm install)
  • рекомендательные системы
  • классификация текстов
  • основа для RAG

Если коротко: эмбеддинги — это способ превратить смысл текста в математику, с которой можно работать.

6 месяцев назад

Никита Вихров

0

Эмбеддинг — набор чисел (вектор), который описывает смысл слова, фразы или документа. Тексты, близкие по смыслу, получают близкие векторы, даже если в них нет общих слов.

Например, «как вернуть деньги за курс» и «оформить возврат оплаты» дадут похожие векторы. «Как установить Python» окажется далеко от обоих.

Как это выглядит

Модель превращает текст в список из сотен или тысяч чисел:

1
2
3
"кошка"  → [0.21, -0.07, 0.88, ..., 0.13]   # например, 1536 чисел
"котёнок" → [0.19, -0.05, 0.85, ..., 0.11]
"трактор" → [-0.62, 0.40, 0.02, ..., -0.30]

Отдельное число не означает ничего конкретного. Смысл передаёт весь вектор целиком.

Как сравнивают эмбеддинги

Близость векторов считают косинусным сходством: 1 — смысл совпадает, около 0 — тексты не связаны.

1
2
3
4
5
6
7
8
9
10
11
import numpy as np

def cosine(a, b):
    return float(a @ b / (np.linalg.norm(a) * np.linalg.norm(b)))

cat = np.array([0.2, 0.9, 0.1])
kitten = np.array([0.25, 0.85, 0.05])
tractor = np.array([0.9, 0.1, 0.3])

print(round(cosine(cat, kitten), 3))   # => 0.996
print(round(cosine(cat, tractor), 3))  # => 0.339

Здесь векторы из трёх чисел для наглядности. Настоящие эмбеддинги получают от модели.

Где используют эмбеддинги

  • Поиск по смыслу. Пользователь пишет вопрос своими словами, система находит документ с ответом, даже если формулировки не совпадают.
  • RAG. ИИ-ассистент перед ответом ищет по эмбеддингам нужные куски документации и передаёт их языковой модели. Так модель отвечает по вашим данным.
  • Рекомендации: похожие товары, статьи, вопросы.
  • Поиск дублей: два вопроса с одинаковым смыслом и разной формулировкой.
  • Кластеризация: разбить тысячи отзывов на темы.

Как получить эмбеддинг

Через API модели или открытой библиотекой. Пример с библиотекой sentence-transformers:

1
2
3
4
5
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("intfloat/multilingual-e5-small")
vectors = model.encode(["как вернуть деньги", "оформить возврат"])
print(vectors.shape)  # (2, 384)

Эмбеддинги хранят в векторных базах данных: pgvector для PostgreSQL, Qdrant, Chroma. Они быстро находят ближайшие векторы среди миллионов.

Коротко для теста

Эмбеддинг — числовое представление текста (вектор), в котором близкие по смыслу тексты оказываются рядом. Его используют для поиска по смыслу, RAG и рекомендаций.

Эмбеддинги, векторный поиск и RAG разбирают на профессии «LLM-разработчик» и на курсе «ИИ для разработчиков».

13 дней назад

Никита Вихров

+7 800 100 22 47

бесплатно по РФ

+7 495 085 21 62

бесплатно по Москве

108813 г. Москва, вн.тер.г. поселение Московский,
г. Московский, ул. Солнечная, д. 3А, стр. 1, помещ. 20Б/3
ОГРН 1217300010476
ИНН 7325174845