Embeddings
Embeddings — это численные представления текстовых строк, измеряющие их взаимосвязь. Текстовые эмбеддинги измеряют степень схожести текстовых строк и часто используются для следующих задач:
- Поиск (результаты сортируются по релевантности запросу)
- Кластеризация (группировка текстовых строк по схожести)
- Рекомендации (рекомендация элементов с похожими текстовыми строками)
- Обнаружение аномалий (поиск элементов, значительно отличающихся от других)
- Измерение разнообразия (анализ распределения схожести)
- Классификация (классификация текстовых строк на основе их схожести с метками)
Эмбеддинг представляет собой вектор (список) чисел. Расстояние между двумя в екторами измеряет степень их схожести: небольшое расстояние указывает на высокую степень схожести, а большое расстояние — на низкую.
Создание эмбеддингов для одного и нескольких текстовых объектов
- Python (OpenAI клиент)
- cURL
# from openai import OpenAI - если у вас еще нет этого пакета
client = OpenAI(
api_key = "Ваш_API_ключ_Compressa",
base_url = "https://compressa-api.mil-team.ru/v1"
)
# Создание embedding для одного запроса
embedding = client.embeddings.create(
model="Compressa-Embedding",
input="Как приготовить борщ?",
encoding_format="float",
)
# Создание embeddings для нескольких документов
docs = [
"Борщ - это традиционный славянский суп",
"Для приготовления борща нужна свекла",
"Борщ обычно подают со сметаной",
"В борщ часто добавляют мясо",
"Борщ имеет характерный красный цвет"
]
embeddings = client.embeddings.create(
model="Compressa-Embedding",
input=docs,
encoding_format="float",
)
curl -X 'POST' \
'https://compressa-api.mil-team.ru/v1/embeddings' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer Ваш_API_ключ_Compressa' \
-d '{
"model": "Compressa-Embedding",
"input": ["текст_один", "текст_два"]
}'
Если вы хотите глубже погрузиться в Embeddings и понять, как технически устроен семантический поиск - посмотрите наше практическое руководство.