You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LangChain中初始化已有Qdrant向量库(无需文档与嵌入)

无需docs和embeddings初始化LangChain的Qdrant对象

要在LangChain中接入已有的Qdrant向量数据库,确实可以像直接使用Qdrant Python客户端那样,仅通过连接信息初始化Qdrant对象,无需传入docs和embeddings。核心思路是先独立初始化QdrantClient,再将其传入LangChain的Qdrant类构造函数中,同时省略docs和embeddings参数。

完整代码示例

import qdrant_client
from langchain.vectorstores import Qdrant

# 初始化Qdrant客户端(和原生客户端用法完全一致)
client = qdrant_client.QdrantClient(
    host="localhost",  # 替换为你的Qdrant主机地址
    port=6333,         # 本地默认端口,Qdrant Cloud可改用url参数
    # api_key="YOUR_API_KEY"  # Qdrant Cloud需要添加此参数
)

# 初始化LangChain的Qdrant向量存储对象,仅需客户端和集合名
qdrant_store = Qdrant(
    client=client,
    collection_name="your_existing_collection"  # 替换为你的已有集合名称
)

注意事项

  • 如果后续需要调用LangChain内置的similarity_search、similarity_search_with_score等方法(这些方法需要将查询文本转换为向量),则必须传入与集合中向量匹配的embeddings模型。此时只需在初始化Qdrant对象时添加embeddings参数即可:
    from langchain.embeddings import HuggingFaceEmbeddings
    
    embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-mpnet-base-v2")
    qdrant_store = Qdrant(
        client=client,
        collection_name="your_existing_collection",
        embeddings=embeddings
    )
    
  • 如果仅需连接已有集合,执行自定义向量查询或通过qdrant_store.client直接调用Qdrant原生客户端的方法(如get_collection、scroll等),则完全无需传入embeddings。

内容的提问来源于stack exchange,提问作者MDan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 18:32:53