头疼的dll文件缺失问题

背景

在做一个RAG任务时,执行下面代码遇到了错误

from langchain_huggingface import HuggingFaceEmbeddings
embeddings = HuggingFaceEmbeddings(model_name="shibing624/text2vec-base-chinese")

报错信息如下

Traceback (most recent call last):
  File "D:\File\PythonProject\IntelligentInsurance\AIBackend\1.py", line 22, in <module>
    embeddings = HuggingFaceEmbeddings(model_name="shibing624/text2vec-base-chinese")
  File "D:\Program\anaconda3\envs\AI\lib\site-packages\langchain_huggingface\embeddings\huggingface.py", line 53, in __init__
    import sentence_transformers  # type: ignore[import]
  File "D:\Program\anaconda3\envs\AI\lib\site-packages\sentence_transformers\__init__.py", line 7, in <module>
    from sentence_transformers.cross_encoder.CrossEncoder import CrossEncoder
  File "D:\Program\anaconda3\envs\AI\lib\site-packages\sentence_transformers\cross_encoder\__init__.py", line 1, in <module>
    from .CrossEncoder import CrossEncoder
  File "D:\Program\anaconda3\envs\AI\lib\site-packages\sentence_transformers\cross_encoder\CrossEncoder.py", line 7, in <module>
    import torch
  File "D:\Program\anaconda3\envs\AI\lib\site-packages\torch\__init__.py", line 148, in <module>
    raise err
OSError: [WinError 126] 找不到指定的模块。 Error loading "D:\Program\anaconda3\envs\AI\lib\site-packages\torch\lib\fbgemm.dll" or one of its dependencies.

错误提示导入pytorh时确实dll文件。
在询问Kimi给出如下回答:

  1. 环境问题:Python环境可能没有正确设置或者存在问题。
  2. 依赖问题:torch库可能没有正确安装或者其依赖库缺失。
  3. 路径问题:系统可能无法找到fbgemm.dll文件,这可能是因为文件缺失或者路径没有正确设置。
    后面我排查在目录下确实有这个文件没问题,我一开始以为torch的问题,为此还重新安装了几次conda环境和torch,都无法解决问题。

终于,搜索到一个帖子,说可能不是这个文件缺失,而是这个dll文件的依赖文件缺失。并给出了解决办法。

问题解决

1.安装DLL文件依赖分析工具

下载地址链接: https://github.com/lucasg/Dependencies/tree/v1.11.1
在这里插入图片描述
之后,下载工具
在这里插入图片描述
下载文件是个压缩包,解压文件。

2.打开分析工具

在解压的文件夹下打开DependenciesGui.exe工具,点击File,Open,选择有问题那个文件,之后弹出错误信息,表示缺失的dll文件。
在这里插入图片描述
现在我已经修复完了,当时是红框文件报错。

3.下载文件

后面我从网上搜索这个libomp140.x86_64.dll文件,找到了这个网站链接: https://www.dllme.com/
在这里插入图片描述
这里可以搜索缺失的dll文件,并下载。

4.安装dll文件

下载的是一个压缩包,解压后就是那个文件
在这里插入图片描述
就直接丢到最开始报错那个目录,torch/lib下,和fbgemm.dll这个文件放一起,问题解决了。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值