当前位置: 首页> 房产> 家装 > Qdrant:在 Langchain 里的使用

Qdrant:在 Langchain 里的使用

时间:2025/7/9 14:17:00来源:https://blog.csdn.net/u013066292/article/details/140741224 浏览次数:0次

写在前面

最近在学习使用 Langchain 开发一个 AI Agent,其中使用了 Qdrant 向量数据库来作为 AI Agent 的知识库,本篇主要是写关于 Qdrant 在 Langchain 里的一些基本操作,以及遇到的一些问题。

内容

前置准备

首先我们用 docker 的形式来安装,参照官方的 docker 教程即可:

# 拉取镜像
docker pull qdrant/qdrant
# 运行容器,并挂载到当前目录下的 qdrant_storage 文件夹
docker run -p 6333:6333 -p 6334:6334 \-v $(pwd)/qdrant_storage:/qdrant/storage:z \qdrant/qdrant# 想要在 Langchain 里使用 Qdrant,还需要进行以下安装
pip install langchain-qdrant

Qdrant 提供了三种访问方式:

  • REST API: localhost:6333
  • Web UI: localhost:6333/dashboard
  • GRPC API: localhost:6334

初始化

QdrantClient 里面有几个跟地址有关的参数:

  • url
  • host
  • path
  • location

它们只能选择一个填写,不能有多于1个有值。它们被分为 Qdrant 的两种模式:本地模式远端模式

本地模式

本地模式也就是不需要 Qdrant 服务端的形式存在,它有内存形式磁盘形式

内存形式

内存形式就是在你的客户端运行期间,数据会存在,一旦客户端被销毁了,这些数据也就没了。

qdrant = QdrantVectorStore.from_documents(docs,embeddings,location=":memory:",  # 需要设置这个值collection_name="my_documents",
)

磁盘形式

磁盘形式则是你可以指定一个本地路径来存放数据。

qdrant = Qdrant.from_documents(docs,embeddings,path="/tmp/local_qdrant",collection_name="my_documents",
)

远端模式

如果我们在远端部署了 Qdrant,想以 C/S 的形式来连接,则应该使用远端模式,也就是填写 urlhost

url = "<---qdrant url here --->"
qdrant = QdrantVectorStore.from_documents(docs,embeddings,url,prefer_grpc=True, # 这里最好设置为 truecollection_name="my_documents",
)

遇到的一些问题

  • 在使用远端模式的时候,如果没有设置prefer_grpc=True,走 REST 的形式,在一些例如耗时比较久的场景下(例如上传一个文件到 Qdrant 里),容易触发超时。

参考

How to Get Started with Qdrant Locally
Langchain-Qdrant
Requests Timed out

关键字:Qdrant:在 Langchain 里的使用

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: