Cohere
Qdrant 与 Cohere co.embed API 及其官方 Python SDK 兼容,可以像安装其他包一样安装
pip install cohere
co.embed API 返回的嵌入可以直接用于 Qdrant 客户端的调用中
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,
),
)
如果您有兴趣查看使用 co.embed API 和 Qdrant 创建的端到端项目,请查看文章“使用 Cohere 和 Qdrant 的问答即服务”。
Embed v3
Embed v3 是 Cohere 模型的新系列,于 2023 年 11 月发布。新模型需要在 API 调用中传递一个附加参数:input_type
。它决定了您希望将嵌入用于的任务类型。
input_type="search_document"
- 用于存储在 Qdrant 中的文档input_type="search_query"
- 用于查找最相关文档的搜索查询input_type="classification"
- 用于分类任务input_type="clustering"
- 用于文本聚类
在实现语义搜索应用程序(如 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],
)