P1uviophile / simple_RAG_with_LLMs_API

基于大语言模型API(本地或商用API)的外挂知识库问答系统(附neo4j实现知识图谱)
10 stars 2 forks source link

main.py报错 #2

Open Michael-JYChen opened 2 months ago

Michael-JYChen commented 2 months ago

您好,运行main.py时报错如下: Traceback (most recent call last): File "D:\PycharmProjects\simple_RAG_with_LLMs_API-main\main.py", line 116, in embeddings = load_embedding_model(local_model_path='text2vec-base-chinese') ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\PycharmProjects\simple_RAG_with_LLMs_API-main\main.py", line 35, in load_embedding_model return HuggingFaceEmbeddings( ^^^^^^^^^^^^^^^^^^^^^^ File "D:\Python\Lib\site-packages\langchain_core_api\deprecation.py", line 203, in warn_if_direct_instance return wrapped(self, *args, **kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Python\Lib\site-packages\langchain_community\embeddings\huggingface.py", line 79, in init self.client = sentence_transformers.SentenceTransformer( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Python\Lib\site-packages\sentence_transformers\SentenceTransformer.py", line 316, in init self.to(device) File "D:\Python\Lib\site-packages\torch\nn\modules\module.py", line 1152, in to return self._apply(convert) ^^^^^^^^^^^^^^^^^^^^ File "D:\Python\Lib\site-packages\torch\nn\modules\module.py", line 802, in _apply module._apply(fn) File "D:\Python\Lib\site-packages\torch\nn\modules\module.py", line 802, in _apply module._apply(fn) File "D:\Python\Lib\site-packages\torch\nn\modules\module.py", line 802, in _apply module._apply(fn) [Previous line repeated 1 more time] File "D:\Python\Lib\site-packages\torch\nn\modules\module.py", line 825, in _apply param_applied = fn(param) ^^^^^^^^^ File "D:\Python\Lib\site-packages\torch\nn\modules\module.py", line 1150, in convert return t.to(device, dtype if t.is_floating_point() or t.is_complex() else None, non_blocking) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "D:\Python\Lib\site-packages\torch\cuda__init__.py", line 293, in _lazy_init raise AssertionError("Torch not compiled with CUDA enabled") AssertionError: Torch not compiled with CUDA enabled

Process finished with exit code 1 版本:cuda==11.8,pytorch==2.1.0。使用cpu前端能打开但是问答会提示错误。请问您有遇到这种情况吗?如果有该如何解决?谢谢!

P1uviophile commented 2 months ago

报错信息看起来是CUDA配置错误的问题, 但我印象里这个项目应该没有用到CUDA才对啊? 只是调用API的话没有必要配置CUDA吧?还是说你在本地部署了大模型呢

P1uviophile commented 2 months ago

给你看AI分析的报错信息:

这段错误信息表明你在使用Python程序加载一个基于Hugging Face的嵌入模型时遇到了问题。错误发生在尝试将模型转换到CUDA设备上时,因为PyTorch没有被编译以支持CUDA。

这里是错误信息的逐步解释:

你的程序在main.py文件的第116行调用了load_embedding_model函数。 在load_embedding_model函数内部,它尝试创建一个HuggingFaceEmbeddings的实例。 这个实例化过程又调用了sentence_transformers.SentenceTransformer。 SentenceTransformer的初始化过程中,模型被转换到一个设备上(通常是GPU,如果可用的话)。 但是,PyTorch的CUDA初始化模块cuda_init.py抛出了一个AssertionError,表明PyTorch没有被编译以支持CUDA。 要解决这个问题,你有几个选项:

确保你的PyTorch版本支持CUDA:如果你正在使用NVIDIA的GPU,并且想要利用它的加速功能,你需要安装一个支持CUDA的PyTorch版本。你可以从PyTorch的官方网站下载一个适合你系统和CUDA版本的PyTorch安装包。 使用CPU版本:如果你不需要GPU加速,或者没有可用的GPU,你可以在初始化模型时指定使用CPU。例如,你可以在调用模型的to方法时,指定device='cpu'。 检查CUDA环境:如果你确定你的系统支持CUDA,并且你已经安装了支持CUDA的PyTorch版本,那么可能存在环境配置问题。确保你的CUDA驱动和环境变量配置正确。 如果你需要进一步的帮助来解决这个问题,你可以提供更多的上下文信息,例如你的操作系统、CUDA版本、PyTorch版本等。这样我可以提供更具体的指导。