llama_index [功能请求]:Qdrant向量存储的异步支持

li9yvcax  于 23天前  发布在  其他
关注(0)|答案(3)|浏览(26)

功能描述

需要为Async QdrantClients提供异步支持

原因

创建集合

  • 当enable_hybrid = True时,对于一个包含345页的PDF,当batch_size为64(默认值)时,耗时近21分钟,而当batch size为20时,耗时约为16分钟。
  • 但是,当enable_hybrid = False时,无论batch size如何,耗时都约为41秒。
  • 因此,我计划尝试使用AsyncQdrandClient,当我尝试异步创建集合时,遇到了"None对象没有集合存在"的问题。看起来它没有创建QdrantClient对象。因此,需要支持Async QdrantClients。
  • 另外,如果能知道为什么在启用enable_hybrid为True时创建集合所需的时间会很长,那将非常有帮助。同时,也想知道是否有办法减少这个时间。

功能价值

  • 如果我们获得了Async支持,当enable_hybrid为True时,我们可能可以更快地创建这个集合。
  • 这可能会大大减少创建集合所需的时间
huus2vyu

huus2vyu1#

@pradeep-suresh2002 支持异步,但您需要提供异步客户端。

vector_store = QdrantVectorStore(
  ..., 
  client=qdrant_client.QdrantClient(...), 
  aclient=qdrant_client.AsyncQdrantClient(...)
)

然而,稀疏向量生成不是异步的,它的计算受限于您的机器,因此无论如何都会阻塞。

mrfwxfqh

mrfwxfqh2#

为了创建AsyncClient,为什么我们要提供client和aclient?我们只能提供aclient对吗?

vector_store = QdrantVectorStore(
...,
client=qdrant_client.QdrantClient(...),
aclient=qdrant_client.AsyncQdrantClient(...)
)

稀疏向量生成是否可以异步进行?
是否有办法减少稀疏向量生成的计算时间?
是否有推荐的机器配置来实现更快的计算?

3wabscal

3wabscal3#

由于代码同时使用了同步和异步客户端,而qdrant没有提供从一个客户端创建另一个客户端的方法

  • 它不能(至少目前不能),因为它正在本地运行稀疏模型
  • 更好的硬件?不同的模型或生成稀疏嵌入的方法?
  • 可能在GPU上运行稀疏模型

相关问题