langchain 无法在多模态检索器中使用Invoke()指定检索到的前K个文档,

rqqzpn5f  于 3个月前  发布在  其他
关注(0)|答案(1)|浏览(30)

检查其他资源

  • 为这个问题添加了一个非常描述性的标题。
  • 使用集成搜索在LangChain文档中进行搜索。
  • 使用GitHub搜索查找类似的问题,但没有找到。
  • 我确信这是LangChain中的一个bug,而不是我的代码。
  • 通过更新到LangChain的最新稳定版本(或特定集成包)无法解决此bug。

示例代码

# Check retrieval
query = "What are the EV / NTM and NTM rev growth for MongoDB, Cloudflare, and Datadog?"
docs = retriever_multi_vector_img.invoke(query, limit=6)

# We get 4 docs
len(docs)

错误信息和堆栈跟踪(如果适用)

  • 无响应*

描述

retriever_multi_vector_img.invoke(query) 不再有一个方法来限制或增加返回并传递给LLM的文档数量。这默认为4,且无法在问题上找到相关信息。
您可以在这个cookbook中看到错误的使用方式: https://github.com/langchain-ai/langchain/blob/master/cookbook/Multi_modal_RAG.ipynb

# Check retrieval
query = "What are the EV / NTM and NTM rev growth for MongoDB, Cloudflare, and Datadog?"
docs = retriever_multi_vector_img.invoke(query, limit=6)

# We get 4 docs
len(docs)

其中6是限制,而4是返回的数量。我们如何强制返回更多的文档?

系统信息

使用的langchain_core版本为0.2.8

7uhlpewt

7uhlpewt1#

尝试以下方法,获取前k个结果:

retriever_multi_vector_img = vectorstore.as_retriever(
    search_type="mmr",
    search_kwargs={'k': 3, 'fetch_k': 5}
)

然后,

retriever_multi_vector_img.invoke(question)

相关问题