Cohere#
Platform V Vector DB (далее - Vector DB) совместим с API co.embed от Cohere и его официальным Python SDK, который может быть установлен так же, как любой другой пакет:
pip install cohere
Эмбеддинги, возвращаемые API co.embed, могут использоваться непосредственно при вызове клиента Vector DB:
import cohere
import qdrant_client
from qdrant_client.models import Batch
cohere_client = cohere.Client("<< your_api_key >>")
qdrant_client = qdrant_client.QdrantClient()
qdrant_client.upsert(
collection_name="MyCollection",
points=Batch(
ids=[1],
vectors=cohere_client.embed(
model="large",
texts=["The best vector database"],
).embeddings,
),
)
Если необходимо увидеть проект «под ключ», созданный с использованием API co.embed и Qdrant, ознакомьтесь со статьей «Вопросно-ответная система как сервис с помощью Cohere и Vector DB».
Embed v3#
Embed v3 - новая линейка моделей Cohere, выпущенная в ноябре 2023 года. Новые модели требуют передачи дополнительного параметра в вызов API: input_type. Он определяет тип задачи, для которой необходимо использовать вложения.
input_type="search_document"- для документов, предназначенных для хранения в Vector DB.input_type="search_query"- для поисковых запросов, чтобы найти наиболее релевантные документы.input_type="classification"0 для задач классификации.input_type="clustering"0 для кластеризации текстов.
При реализации приложений семантического поиска, таких как RAG, следует использовать input_type="search_document" для индексируемых документов и input_type="search_query" для поисковых запросов. Следующий пример показывает, как индексировать документы с моделью Embed v3:
import cohere
import qdrant_client
from qdrant_client.models import Batch
cohere_client = cohere.Client("<< your_api_key >>")
client = qdrant_client.QdrantClient()
client.upsert(
collection_name="MyCollection",
points=Batch(
ids=[1],
vectors=cohere_client.embed(
model="embed-english-v3.0", # New Embed v3 model
input_type="search_document", # Input type for documents
texts=["Qdrant is the a vector database written in Rust"],
).embeddings,
),
)
После того как документы проиндексированы, можно искать наиболее релевантные документы с помощью модели Embed v3:
client.query_points(
collection_name="MyCollection",
query=cohere_client.embed(
model="embed-english-v3.0", # New Embed v3 model
input_type="search_query", # Input type for search queries
texts=["The best vector database"],
).embeddings[0],
)
Согласно документации Cohere, все модели версии v3 могут использовать скалярное произведение, косинусную меру сходства и евклидово расстояние в качестве метрики подобия, поскольку все три метрики дают идентичные ранжирования.