Closed Ch4mpa9ne closed 1 year ago
从报错信息中看,似乎llm模型在离线状态下已经正确加载,但embedding模型加载出现问题。
请检查项目所在路径中configs/model_config.py文件中embedding_model_dict中text2vec的路径是否已修改为本地绝对路径
从报错信息中看,似乎llm模型在离线状态下已经正确加载,但embedding模型加载出现问题。
请检查项目所在路径中configs/model_config.py文件中embedding_model_dict中text2vec的路径是否已修改为本地绝对路径
为啥会出现这种情况?而且在联网状态下,初次使用时,我似乎已经下载了embedding模型,并成功使用。
我在访问~/.cache/huggingface
路径检查时确实没有发现embedding模型相关的文件,只发现了llm模型,当然这可能是我在之前下载。
所以webui.py所下载的是模型文件还是使用在线api?所下载的模型文件默认会放在哪里?
以下是我的config/model_config.py部分内容,其余均保持默认。既然不论是否联网,llm_model_dict能读取到模型,那应该读取模型文件路径在~/.cache/huggingface
?联网状态显示下载了embedding模型,但~/.cache/huggingface
却又没有,所以联网状态使用的是api?
embedding_model_dict = {
# "ernie-tiny": "nghuyong/ernie-3.0-nano-zh",
"ernie-base": "nghuyong/ernie-3.0-base-zh",
"text2vec-base": "shibing624/text2vec-base-chinese",
"text2vec": "GanymedeNil/text2vec-large-chinese",
}
llm_model_dict = {
"chatyuan": "ClueAI/ChatYuan-large-v2",
# "chatglm-6b-int4-qe": "THUDM/chatglm-6b-int4-qe",
# "chatglm-6b-int4": "THUDM/chatglm-6b-int4",
# "chatglm-6b-int8": "THUDM/chatglm-6b-int8",
"chatglm-6b": "THUDM/chatglm-6b",
}
经过测试,似乎即使~/.cache/huggingface
存在embedding模型,也会优先使用api。
TTPSConnectionPool(host='huggingface.co', port=443): Max retries exceeded with url: /api/models/GanymedeNil/text2vec-large-chinese (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7fb28c5d8ac0>: Failed to establish a new connection: [Errno 101] Network is unreachable'))
模型未成功加载,请到页面左上角"模型配置"选项卡中重新选择后点击"加载模型"按钮
此时将config/model_config.py改成绝对路径则可以加载模型。
embedding_model_dict = {
# "ernie-tiny": "nghuyong/ernie-3.0-nano-zh",
"ernie-base": "nghuyong/ernie-3.0-base-zh",
"text2vec-base": "shibing624/text2vec-base-chinese",
# "text2vec": "GanymedeNil/text2vec-large-chinese",
"text2vec": "/home/a/.cache/huggingface/hub/models--GanymedeNil--text2vec-large-chinese/snapshots/b23825b5841818578dd225b5420c4b026ff58aa3",
}
本项目目前没有调用api的过程,上述报错信息中的api可能是下载embedding模型过程中调用的api。
建议如果模型已经下载到本地,就把configs/model_config里的两个model_dict中要选择的模型对应值修改为本地绝对路径,不然也会先检查是否能够联网,才会开始下载模型。
具体下载后修改方式可以参考 README 中常见问题
除此之外,离线环境下运行,建议将gradio版本修改为3.21
感谢作者。
如果你也像我一样有即将要到离线环境部署的需求,我的建议是:创建一个用户,将该用户的home目录挂载到一块独立的磁盘上,使用conda管理python环境,此时conda、huggingface缓存都会存储在该用户的home目录下,在联网状态下测试好所有使用,并尝试拔网线测试好。最后只需要将该磁盘插到离线的服务器中,重新生成用户,挂载磁盘到home目录即可。
相信我你不会想去整proxy的事,坑一堆。
问题描述 / Problem Description 在下载完所有所需要模型,且尝试确认对话或其他服务可用的情况下,服务器断网并重启服务,此时显示模型加载失败,手动点击重新加载模型也是相同的报错。
复现问题的步骤 / Steps to Reproduce
预期的结果 / Expected Result 正常服务
实际结果 / Actual Result 模型未成功重新加载,请到页面左上角"模型配置"选项卡中重新选择后点击"加载模型"按钮
环境信息 / Environment Information
附加信息 / Additional Information
以下是联网状态下启动的输出,启动webui后可以正常访问服务与加载模型,也能正常使用对话、加载知识库、从知识库问答等功能。
以下是不联网时的输出,可以正常启动webui并在浏览器访问,但是点加载模型时始终会显示模型未正常加载
因为最终的部署环境是无法联网的,想问问不联网咋正常启动服务,感谢感谢
后面在断网状态执行了一下python cli_demo.py,报错如下。似乎是http代理的问题,但是所有模型不是已经都本地拉取完成了么?为什么会用到网络?