Термин Embeddings и векторный поиск Средний

Cosine similarity

Cosine similarity - это метрика похожести двух векторов по направлению; в AI ее часто используют для поиска близких по смыслу текстов через embeddings.

cosine similarity косинусная близость косинусное сходство cosine distance vector similarity semantic similarity similarity score embedding similarity сходство векторов семантическая близость
Cosine similarity помогает сравнивать не сами слова, а векторы, которые получились после embedding-модели. Если два текста близки по смыслу, их векторы обычно смотрят в похожем направлении, и cosine similarity будет выше.

В RAG это одна из базовых метрик поиска. Пользователь задает вопрос, система превращает его в embedding, сравнивает с embeddings документов и выбирает фрагменты с наибольшей похожестью. Эти фрагменты потом попадают в контекст модели как источники.

Название связано с косинусом угла между векторами. Если направление почти одинаковое, значение близко к 1. Если связи почти нет, значение ниже. На практике важна не красивая формула, а то, помогает ли метрика находить действительно полезные фрагменты для задачи.

Cosine similarity не понимает истинность фактов. Она может найти текст, похожий по теме, но устаревший, неполный или противоречивый. Поэтому в продакшене ее часто дополняют reranking, фильтрами по дате, source verification, metadata и порогами качества.

Главная ошибка - считать высокий similarity score гарантией правильного ответа. Это только сигнал близости. Для критичных сценариев нужно проверять источники, показывать citations, тестировать retrieval на реальных запросах и отслеживать случаи, когда похожий фрагмент оказался бесполезным.

Примеры

  • Запрос "как вернуть товар" находит фрагмент базы знаний про возврат и обмен, даже если там нет точной фразы из вопроса.
  • Два описания "оплата не прошла" и "платеж отклонен банком" получают высокий similarity, потому что смысл похожий.
  • Внутренний поиск по документам ранжирует chunks по cosine similarity и берет top-5 фрагментов для ответа.
  • Если similarity ниже порога, агент не отвечает уверенно и просит уточнить вопрос или ищет другие источники.
  • В базе знаний старый регламент может быть похож на новый, поэтому система дополнительно фильтрует документы по дате.
  • Для FAQ-бота cosine similarity помогает подобрать похожий вопрос, но итоговый ответ все равно проверяется по источнику.

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

  • семантический поиск по документам
  • RAG для базы знаний
  • поиск похожих вопросов в FAQ
  • поиск похожих тикетов и обращений
  • дедупликация текстов и карточек
  • кластеризация запросов и тем
  • подбор релевантных chunks для LLM
  • поиск похожих товаров, статей или кейсов
  • оценка близости user query и документа
  • порог качества перед ответом агента

Связанные термины

Частые вопросы

Cosine similarity показывает, что ответ правильный?

Нет. Она показывает близость векторов по смыслу. Фрагмент может быть похожим, но устаревшим, неполным или неверным, поэтому нужны citations и проверка источников.

Чем cosine similarity отличается от keyword search?

Keyword search ищет совпадения слов. Cosine similarity через embeddings ищет смысловую близость, поэтому может находить релевантные тексты с другими формулировками.

Какой threshold выбрать для cosine similarity?

Универсального порога нет. Его подбирают на реальных запросах, смотрят precision и recall, отдельно тестируют пустые, короткие и двусмысленные вопросы.

Почему похожий фрагмент иногда оказывается бесполезным?

Embedding может поймать общую тему, но пропустить важные ограничения: дату, регион, версию продукта, тип клиента или юридический статус документа.

Нужно ли использовать reranking после cosine similarity?

Часто да. Cosine similarity быстро находит кандидатов, а reranker помогает точнее выбрать фрагменты, которые действительно отвечают на вопрос.

Где хранить векторы для cosine similarity?

В vector store или базе с поддержкой векторного поиска: Pinecone, Qdrant, Redis Vector Search, pgvector/PostgreSQL и похожих инструментах.

Где читать дальше

Статьи по теме

Инструменты

Связанные инструменты