Langchain-Chatchat
Langchain-Chatchat copied to clipboard
[BUG] 知识库 上传csv,“单段文本最大长度” 不起作用
问题描述 / Problem Description
知识库 上传csv,设置“单段文本最大长度” 250, 相邻文本重合长度50,
但是不起作用,csv每一行的所有内容,被分到的一段(远超过250文本)
这里csv有12行数据,结果分为12段
环境信息 / Environment Information
- langchain-ChatGLM 版本/commit 号::v0.2.10
- 是否使用 Docker 部署(是/否):否
- 使用的模型(ChatGLM2-6B / Qwen-7B 等):QWwen
- 使用的 Embedding 模型(moka-ai/m3e-base 等):bge-large-zh-v1.5
- 使用的向量库类型 (faiss / milvus / pg_vector 等): faiss
- 操作系统及版本 / Operating system and version: ubuntu22.04
- Python 版本 / Python version: 3.11
- 其他相关环境信息 / Other relevant environment information:
嘿,@cooller111!很高兴再次见到你。希望你最近过得不错!
感谢您的反馈。根据我在Langchain-Chatchat仓库中找到的信息,这个问题可能与之前的一些问题有关。例如,知识库召回文本最大字数好像设置不了 和 [BUG] 知识库召回文本块chunk_size设置无效,还是默认按照250字进行分块(分词器导致的)。
在Langchain-Chatchat应用中,“单段文本最大长度”设置由CHUNK_SIZE
变量表示,其值设置为250
,这可能表示应用程序将处理或存储在知识库中的单个文本段的最大长度,而不应用MarkdownHeaderTextSplitter。这个设置对于管理文本数据如何被分块或分段在应用程序处理或索引之前是至关重要的。
关于您的问题,提供的代码并未包含任何与处理或上传CSV文件到知识库的“最大单文本长度”功能或设置相关的内容。代码主要关注知识库服务的抽象基类KBService
,包括在知识库中创建、添加、删除和搜索文档的方法,但它并未直接处理文件上传或执行文档的最大文本长度限制。
描述的问题可能与KBService
类中的add_doc
方法或可能在KnowledgeFile
类的file2text
方法中有关,这在提供的代码中有提到,但未定义。然而,如果没有CSV文件处理和“最大单文本长度”设置在上传过程中应该如何应用的实现细节,就无法为问题提供具体的原因或解决方案。
要解决这个问题,需要查看CSV文件处理的实现,特别是看系统如何将CSV内容分段并应用“最大单文本长度”设置。这个功能可能位于代码库的一部分,这部分没有包含在提供的上下文中,例如在KnowledgeFile
类的file2text
方法中,或者在另一个负责处理文件上传和文本处理的模块中。
希望这些信息对您有所帮助。如果您有任何其他问题或需要进一步的澄清,请随时告诉我。
Sources
About Dosu
This response is meant to be useful and save you time. It is not meant to be a precise solution, but rather a starting point for your own research.
Help me be more useful! Please leave a 👍 if this is helpful and 👎 if it is irrelevant.
If you want to continue the conversation, start your reply with @dosu-bot.
同样遇到了这个错误,chunk_size无效了
csv没有chunksize是根据单元格一行一个chunk的