Embeddings
Embeddings — это численные представления текстовых строк, измеряющие их взаимосвязь. Текстовые эмбеддинги измеряют степень схожести текстовых строк и часто используются для следующих задач:
- Поиск (результаты сортируются по релевантности запросу)
- Кластеризация (группировка текстовых строк по схожести)
- Рекомендации (рекомендация элементов с похожими текстовыми строками)
- Обнаружение аномалий (поиск элементов, значительно отличающихся от других)
- Измерение разнообразия (анализ распределения схожести)
- Классификация (классификация текстовых строк на основе их схожести с метками)
Эмбеддинг представляет собой вектор (список) чисел. Расстояние между двумя векторами измеряет степень их схожести: небольшое расстояние указывает на высокую степень схожести, а большое расстояние — на низкую.
Создание эмбеддингов для одного и нескольких текстовых объектов
- Python (OpenAI клиент)
- Python (OpenAI клиент)
- cURL
#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([
"Борщ - это традиционный славянский суп",
"Для приготовления борща нужна свекла",
"Борщ обычно подают со сметаной",
"В борщ часто добавляют мясо",
"Борщ имеет характерный красный цвет"
])
# from openai import OpenAI - если у вас еще нет этого пакета
client = OpenAI(
api_key = "Ваш_API_ключ_Compressa",
base_url = "http://localhost:5000/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' \
'http://localhost:5000/v1/embeddings' \
-H 'accept: application/json' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer Ваш_API_ключ_Compressa' \
-d '{
"model": "Compressa-Embedding",
"input": ["текст_один", "текст_два"]
}'