chatchat-space / Langchain-Chatchat

Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM, Qwen 与 Llama 等语言模型的 RAG 与 Agent 应用 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM, Qwen and Llama) RAG and Agent app with langchain
Apache License 2.0
31.7k stars 5.53k forks source link

[BUG] 知识库页面的表格出错 #2795

Closed fsj621 closed 9 months ago

fsj621 commented 9 months ago

在和知识库对话时可以找到已经添加的文件,但是表格中一直显示"x" image 终端报错: image

dosubot[bot] commented 9 months ago

🤖

你好,@fsj621!很高兴再次看到你在这里。希望你一切都好。

根据您提供的信息,知识库页面的表格显示"x"可能是由于文件没有在数据库或本地知识库文件夹中正确注册。表格中的"in_folder"和"in_db"列使用了一个单元格渲染函数,该函数会检查文件是否存在于相应的位置。如果文件不存在,该函数将返回'×'。

这是相关的代码段:

cell_renderer = JsCode("""function(params) {if(params.value==true){return '✓'}else{return '×'}}""")
gb = config_aggrid(
    doc_details,
    {
        ("No", "序号"): {},
        ("file_name", "文档名称"): {},
        ("document_loader", "文档加载器"): {},
        ("docs_count", "文档数量"): {},
        ("text_splitter", "分词器"): {},
        ("in_folder", "源文件"): {"cellRenderer": cell_renderer},
        ("in_db", "向量库"): {"cellRenderer": cell_renderer},
    },
    "multiple",
)

如果在与知识库对话中可以找到文件,但表格仍显示'×',那么可能需要检查get_kb_file_details函数和file_exists函数的实现,以确保它们正常工作。

关于终端的错误信息,我无法从您提供的截图中看到具体的错误信息。如果可能的话,能否提供一下终端的错误信息?这将有助于我更好地理解和解决问题。

相关源代码:

Sources


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.

fsj621 commented 9 months ago

🤖

你好,@fsj621!很高兴再次看到你在这里。希望你一切都好。

根据您提供的信息,知识库页面的表格显示"x"可能是由于文件没有在数据库或本地知识库文件夹中正确注册。表格中的"in_folder"和"in_db"列使用了一个单元格渲染函数,该函数会检查文件是否存在于相应的位置。如果文件不存在,该函数将返回'×'。

这是相关的代码段:

cell_renderer = JsCode("""function(params) {if(params.value==true){return '✓'}else{return '×'}}""")
gb = config_aggrid(
    doc_details,
    {
        ("No", "序号"): {},
        ("file_name", "文档名称"): {},
        ("document_loader", "文档加载器"): {},
        ("docs_count", "文档数量"): {},
        ("text_splitter", "分词器"): {},
        ("in_folder", "源文件"): {"cellRenderer": cell_renderer},
        ("in_db", "向量库"): {"cellRenderer": cell_renderer},
    },
    "multiple",
)

如果在与知识库对话中可以找到文件,但表格仍显示'×',那么可能需要检查get_kb_file_details函数和file_exists函数的实现,以确保它们正常工作。

关于终端的错误信息,我无法从您提供的截图中看到具体的错误信息。如果可能的话,能否提供一下终端的错误信息?这将有助于我更好地理解和解决问题。

相关源代码:

Sources

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.

@dosu-bot 终端错误信息: 2024-01-25 09:02:11.069 ComponentRequestHandler: GET /home/cxadmin/miniconda3/envs/langchain_v290/lib/python3.11/site-packages/st_aggrid/frontend/build/bootstrap.min.css.map read error Traceback (most recent call last): File "/home/cxadmin/miniconda3/envs/langchain_v290/lib/python3.11/site-packages/streamlit/web/server/component_request_handler.py", line 51, in get with open(abspath, "rb") as file: ^^^^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: '/home/cxadmin/miniconda3/envs/langchain_v290/lib/python3.11/site-packages/st_aggrid/frontend/build/bootstrap.min.css.map'

dosubot[bot] commented 9 months ago

🤖

🤖

您好,@fsj621!感谢您提供的终端错误信息。

根据您提供的错误信息,系统试图访问的文件'bootstrap.min.css.map'在指定的目录中不存在。这可能是由以下几个原因导致的:

  1. 'bootstrap.min.css.map'文件可能已被移动、删除或重命名。
  2. 在安装'st_aggrid'包时,该文件可能没有被正确地安装或生成。
  3. 您使用的'st_aggrid'包的版本可能存在问题。

为了解决这个问题,您可以尝试以下步骤:

  1. 检查'bootstrap.min.css.map'文件是否存在于指定的目录中。如果不存在,您可能需要重新安装'st_aggrid'包或手动添加该文件。
  2. 如果文件确实存在,检查系统中的文件路径是否与错误消息中指定的路径匹配。如果它们不匹配,您可能需要在系统中更新文件路径。
  3. 如果以上解决方案都不起作用,您可能需要检查您使用的'st_aggrid'包的版本是否有已知的问题,或尝试使用不同的版本。

请注意,这些都是一般性的建议,具体的解决方案可能会根据您的系统的具体情况而有所不同。

关于知识库页面的表格显示"x"的问题,这可能是由于知识库中的文件路径或名称与实际文件的路径或名称不一致。可能的情况是,文件的路径或名称在被添加到知识库后被更改,导致系统无法定位它们。

Langchain-Chatchat通过使用Python的os和pathlib库来处理知识库中的文件路径和名称。文件路径是通过server.knowledge_base.utils模块的get_kb_pathget_doc_path函数来管理的。这些函数分别用于获取知识库和文档的路径。

当文档被添加到知识库时,会使用KBService类的add_doc方法。如果文档的源路径是绝对路径,它会被转换为相对于知识库文档路径的相对路径。这是通过使用pathlib库的Path.relative_to方法来完成的。如果转换失败,会抛出一个异常并打印错误。

如果文件路径或名称被更改,可以使用KBService类的update_doc方法来更新知识库中的文档。这个方法首先检查文件是否存在,然后删除旧的文档并添加新的文档。

但是,如果文件路径或名称被更改,知识库中并没有明确的机制来更新所有的文件路径和名称。开发者需要使用update_doc方法手动更新每个文档。

相关源代码:

这个回答是为了帮助您节省时间,提供有用的信息,并不是一个精确的解决方案,而是您自己研究的起点。

帮助我变得更有用!如果这个回答对您有帮助,请给我一个👍,如果无关,请给我一个👎。

如果您想继续对话,请在回复中@dosu-bot。

Sources


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.

302658980 commented 7 months ago

我也遇到了这个问题 有解决吗 老哥

fsj621 commented 7 months ago

我也遇到了这个问题 有解决吗 老哥

这两行注释掉就好了: image

litongyun233 commented 7 months ago

我也遇到了这个问题