[Bug]: 关于安装构建知识库依赖的流程心得与求教
Installation Method | 安装方法与平台
Anaconda (I used latest requirements.txt)
Version | 版本
Latest | 最新版
OS | 操作系统
Windows
Describe the bug | 简述
- 我遇到最大的问题是使用python3.11,onnx需要protobuf版本小于等于3.20.1,python3.11不能安装这个版本。请使用python3.10。
- 尽量使用conda安装cmake、protobuf、pybind11
- 需要安装cmake、VS2022,要支持C++(我没有任何计算机知识,可能表达不准确,都是问的gpt)
- 创建python3.10虚拟环境
- conda install cmake protobuf==3.20.1 pybind
- 安装Cmake、VS2022
- 配置环境变量(参考图片,请懂哥们指点哪些是必要的,中途精神状态不佳疯狂添加环境变量)
- pip install zh_langchain
- python main.py(配置config我就不说了)
- 构建知识库,在这一步我的C盘突然就满了,我不知道在哪里修改embedding模型下载的位置和向量数据库存储的位置,求拯救!!!以及如果有能部署在huggingface上的方法也请指点,快哭出来了
Screen Shot | 有帮助的截图
Terminal Traceback & Material to Help Reproduce Bugs | 终端traceback(如有) + 帮助我们复现的测试材料样本(如有)
No response
Kim Kim et al 2003 - Effect of Lactobacillus fermentum MG590.pdf 在构建知识库时候,这个文件一直报错,但其他文件不会报错,不知道什么原因。
按照gpt给出的方案:这个 pdf2image.exceptions.PDFPageCountError: Unable to get page count. 错误通常是由于 pdf2image 库无法正确处理 PDF 文件引起的。这可能是由于多种原因,包括但不限于 Poppler 工具的安装问题、PDF 文件本身的问题,或是环境配置问题。以下是一些可能的解决方案:
确保 Poppler 正确安装 验证 Poppler 安装:
运行 pdftoppm -version 命令来确认 Poppler 是否正确安装。 如果没有安装或无法找到,您需要重新安装 Poppler。 确认 Poppler 路径:
确保 Poppler 的 bin 目录已经添加到系统的 PATH 环境变量中。 检查 PDF 文件 检查 PDF 文件的有效性:
确认 PDF 文件没有损坏并且能够被其他 PDF 阅读器正常打开。 尝试不同的 PDF 文件:
尝试用 pdf2image 处理另一个 PDF 文件,看看是否出现相同的错误。这可以帮助确认问题是否与特定的 PDF 文件相关。 更新或重新安装相关库 更新 pdf2image:
使用 pip install --upgrade pdf2image 来更新 pdf2image 库。 重新安装 pdf2image:
有时重新安装库可以解决兼容性或损坏的问题。 调试和日志记录 增加错误日志:
在代码中添加更多的错误日志,尤其是在调用 pdf2image 相关函数之前和之后,可以帮助定位问题。 检查文件路径:
确保代码中用于 pdf2image 函数的 PDF 文件路径是正确的。 考虑替代方案 如果问题持续存在,您可能需要考虑使用其他库来处理 PDF 文件。 如果在尝试上述解决方案后仍然无法解决问题,可能需要更详细地检查您的代码和环境配置,或者寻求专业的帮助。在处理这类问题时,确保您的代码正确地指向了有效的、未损坏的 PDF 文件,并且所有相关的依赖都已正确安装和配置。
我:没有找到符合要求的安装包:解压后的文件夹内没有bin文件夹可以加入到环境变量。
webui报错如下: Traceback (most recent call last): File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\pdf2image\pdf2image.py", line 589, in pdfinfo_from_path raise ValueError ValueError
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File ".\toolbox.py", line 158, in decorated yield from f(main_input, llm_kwargs, plugin_kwargs, chatbot_with_cookie, history, *args, **kwargs) File ".\crazy_functions\知识库问答.py", line 75, in 知识库文件注入 kai.feed_archive(file_manifest=file_manifest, vs_path=vs_path, id=kai_id) File ".\crazy_functions\vector_fns\vector_database.py", line 293, in feed_archive self.qa_handle, self.kai_path = construct_vector_store( File ".\crazy_functions\vector_fns\vector_database.py", line 258, in construct_vector_store vs_path, loaded_files = local_doc_qa.init_knowledge_vector_store(filelist, os.path.join(vs_path, vs_id), sentence_size, text2vec) File ".\crazy_functions\vector_fns\vector_database.py", line 184, in init_knowledge_vector_store docs += load_file(file, SENTENCE_SIZE) File ".\crazy_functions\vector_fns\general_file_loader.py", line 67, in load_file docs = loader.load_and_split(text_splitter=textsplitter) File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\langchain\document_loaders\base.py", line 44, in load_and_split docs = self.load() File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\langchain\document_loaders\unstructured.py", line 87, in load elements = self._get_elements() File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\langchain\document_loaders\unstructured.py", line 173, in _get_elements return partition(filename=self.file_path, **self.unstructured_kwargs) File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\partition\auto.py", line 384, in partition elements = _partition_pdf( File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\documents\elements.py", line 503, in wrapper elements = func(*args, **kwargs) File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\file_utils\filetype.py", line 591, in wrapper elements = func(*args, **kwargs) File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\file_utils\filetype.py", line 546, in wrapper elements = func(*args, **kwargs) File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\chunking\title.py", line 241, in wrapper elements = func(*args, **kwargs) File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\partition\pdf.py", line 176, in partition_pdf return partition_pdf_or_image( File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\partition\pdf.py", line 303, in partition_pdf_or_image elements = _partition_pdf_or_image_with_ocr( File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\utils.py", line 214, in wrapper return func(*args, **kwargs) File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\partition\pdf.py", line 819, in _partition_pdf_or_image_with_ocr for image in convert_pdf_to_images(filename, file): File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\unstructured\partition\pdf.py", line 766, in convert_pdf_to_images info = pdf2image.pdfinfo_from_path(filename) File "D:\APP\Anaconda3\envs\gpt_academic310\lib\site-packages\pdf2image\pdf2image.py", line 598, in pdfinfo_from_path raise PDFPageCountError( pdf2image.exceptions.PDFPageCountError: Unable to get page count.
知识库没报错,但是一直停在“正在构建知识库....”这里
也是停在正在构建知识库,不报错,电脑资源管理器也不动