Перейти к основному содержимому

Embeddings

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

  • Поиск (результаты сортируются по релевантности запросу)
  • Кластеризация (группировка текстовых строк по схожести)
  • Рекомендации (рекомендация элементов с похожими текстовыми строками)
  • Обнаружение аномалий (поиск элементов, значительно отличающихся от других)
  • Измерение разнообразия (анализ распределения схожести)
  • Классификация (классификация текстовых строк на основе их схожести с метками)

Эмбеддинг представляет собой вектор (список) чисел. Расстояние между двумя векторами измеряет степень их схожести: небольшое расстояние указывает на высокую степень схожести, а большое расстояние — на низкую.

Создание эмбеддингов для одного и нескольких текстовых объектов

#pip install langchain-openai - если у вас еще нет этого пакета


from langchain_openai import OpenAIEmbeddings

embeddings_model = OpenAIEmbeddings(
model="CompressaEmbeddings",
base_url="http://localhost:5000/v1",
api_key="Ваш_API_ключ_Compressa",
)


# Создание embedding для одного запроса
query_embedding = embeddings.embed_query("Как приготовить борщ?")

# Создание embeddings для нескольких документов
docs_embeddings = embeddings.embed_documents([
"Борщ - это традиционный славянский суп",
"Для приготовления борща нужна свекла",
"Борщ обычно подают со сметаной",
"В борщ часто добавляют мясо",
"Борщ имеет характерный красный цвет"
])