在Langchain CSV加载器中仅获取有限的文档

我正在尝试使用Langchain和OpenAI API对我的CSV文件进行一些查询。我能够运行这段代码,但我不确定为什么结果仅限于CSV中500行中的4条记录。

我在从csv_loader加载后尝试打印,显示了所有记录,所以我在嵌入/向量处理上可能做错了什么。谁能建议我可以尝试什么?

    csv_loader = CSVLoader(csv_file_path)    data = csv_loader.load()    splitter = CharacterTextSplitter(separator = "\n",                                chunk_size=500,                                 chunk_overlap=0,                                length_function=len)    documents = splitter.split_documents(data)    embeddings = OpenAIEmbeddings()    vectorstore = FAISS.from_documents(documents, embeddings)    vectorstore.save_local("faiss_index_constitution")    persisted_vectorstore = FAISS.load_local("faiss_index_constitution", embeddings, allow_dangerous_deserialization=True)    query = "自2024年3月1日以来交易金额的总和是多少?"    retriever = persisted_vectorstore.as_retriever()    chain = RetrievalQA.from_llm(llm=model, retriever=retriever, verbose=True)    chain_input = {"query": query, "context": None}    result = chain(chain_input)    return result

回答:

检索器默认返回的文档数量是4源代码)。您可以通过在search_kwargs中指定k的值来设定要检索的文档数量。

retriever = persisted_vectorstore.as_retriever(    search_kwargs={"k": 50})

参考资料

  1. 指定前k个(LangChain)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注