使用FastEmbed与Qdrant进行向量搜索

安装 Qdrant 客户端

pip install qdrant-client

安装 FastEmbed

安装FastEmbed将让您快速将数据转换为向量,以便Qdrant可以对其进行搜索。

pip install fastembed

初始化客户端

Qdrant 客户端有一个简单的内存模式,可以让你在本地尝试语义搜索。

from qdrant_client import QdrantClient

client = QdrantClient(":memory:")  # Qdrant is running from RAM.

添加数据

现在你可以添加两个示例文档,它们相关的元数据,以及每个文档的id点。

docs = ["Qdrant has a LangChain integration for chatbots.", "Qdrant has a LlamaIndex integration for agents."]
metadata = [
    {"source": "langchain-docs"},
    {"source": "llamaindex-docs"},
]
ids = [42, 2]

加载数据到集合

创建一个测试集合并将您的两个文档插入其中。

client.add(
    collection_name="test_collection",
    documents=docs,
    metadata=metadata,
    ids=ids
)

在这里,您将提出一个虚拟问题,以便检索语义相关的结果。

search_result = client.query(
    collection_name="test_collection",
    query_text="Which integration is best for agents?"
)
print(search_result)

语义搜索引擎将按相关性顺序检索最相似的结果。在这种情况下,关于LlamaIndex的第二条陈述更为相关。

[QueryResponse(id=2, embedding=None, sparse_embedding=None, 
metadata={'document': 'Qdrant has a LlamaIndex integration for agents',
'source': 'llamaindex-docs'}, document='Qdrant has a LlamaIndex integration for agents.', 
score=0.8749180370667156), 
QueryResponse(id=42, embedding=None, sparse_embedding=None, 
metadata={'document': 'Qdrant has a LangChain integration for chatbots.', 
'source': 'langchain-docs'}, document='Qdrant has a LangChain integration for chatbots.', 
score=0.8351846822959111)]
这个页面有用吗?

感谢您的反馈!🙏

我们很抱歉听到这个消息。😔 你可以在GitHub上编辑这个页面,或者创建一个GitHub问题。