[ollama] Error: req_id: a0d49461dc PluginInvokeError: {"args":{},"error_type":"ConnectionError","message":"HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443): Max retries exceeded with url: /gpt-2/encodings/main/vocab.bpe (Caused by NameResolutionError("\u003curllib3.connection.HTTPSConnection object at 0x75004d985880\u003e: Failed to resolve 'openaipublic.blob.core.windows.net' ([Errno -2] Name or service not known)"))"} 我的资源部署在两套服务器上,全部是离线的,一台采用docker部署的dify平台,一台部署的ollama以及deepseek模型,在我工作流工作时到调用模型的节点时报错,但是在对话助手等直接提问模型是可以回答使用的,我的服务器是内网环境,不能连互联网,有没有那种把所需文件传到服务器来解决问题的,好像是gpt2的分词文件,有没有大佬帮助解决下
dify工作流运行到模型节点报错HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443)
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
关注让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。
如果答案让您满意,请采纳、点赞、关注,非常感谢!
.
每日一句正能量,让它带给您好心情:生活的美好,在于它的不确定性,你永远不知道下一秒会有什么惊喜。
.根据你提供的错误信息,这是一个典型的网络连接问题。错误显示系统无法解析
openaipublic.blob.core.windows.net这个域名,这是 OpenAI 的 GPT-2 分词文件下载地址。问题分析
在你的离线环境中,当工作流运行到模型节点时,系统尝试从互联网下载 GPT-2 的分词文件:
vocab.bpe- GPT-2 的字节对编码文件- 可能还需要
encoder.json等分词相关文件
解决方案
1. 手动下载所需文件
首先在有网络的环境中下载以下文件:
# 创建目录结构 mkdir -p gpt-2/encodings/main/ # 下载 GPT-2 分词文件 wget https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/vocab.bpe wget https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/encoder.json2. 传输文件到离线服务器
将下载的文件传输到你的离线服务器,建议放置在以下目录:
# 在离线服务器上创建目录 sudo mkdir -p /usr/local/share/gpt-2/encodings/main/ # 将下载的文件复制到该目录 sudo cp vocab.bpe /usr/local/share/gpt-2/encodings/main/ sudo cp encoder.json /usr/local/share/gpt-2/encodings/main/3. 配置环境变量
在 Dify 的部署环境中设置环境变量,告诉系统使用本地文件:
# 在 docker-compose.yml 或部署配置中添加 environment: - TRANSFORMERS_OFFLINE=1 - HF_DATASETS_OFFLINE=1 - GPT2_ENCODINGS_PATH=/usr/local/share/gpt-2/encodings/main/4. 对于 Ollama 部署
如果问题出现在 Ollama 侧,可以尝试:
# 在 Ollama 服务器上设置环境变量 export TRANSFORMERS_OFFLINE=1 export HF_DATASETS_OFFLINE=1 # 或者修改 Ollama 的启动配置5. Docker 部署的额外配置
如果使用 Docker 部署,确保文件映射正确:
# 在 docker-compose.yml 中添加卷映射 volumes: - /usr/local/share/gpt-2/encodings/main/:/usr/local/share/gpt-2/encodings/main/6. 验证配置
重启服务后,可以通过以下方式验证:
# 创建一个简单的测试脚本 import os from transformers import GPT2Tokenizer # 设置离线模式 os.environ['TRANSFORMERS_OFFLINE'] = '1' # 测试分词器加载 try: tokenizer = GPT2Tokenizer.from_pretrained('gpt2') print("GPT-2 tokenizer loaded successfully") except Exception as e: print(f"Error: {e}")替代方案
如果上述方法不适用,可以考虑:
- 使用其他本地模型:配置工作流使用完全本地的模型,避免依赖外部资源
- 修改模型配置:在模型配置中指定本地分词器路径
- 网络代理:在内网搭建一个代理服务器,将域名指向本地文件服务器
文件下载地址
所需文件的完整下载地址:
https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/vocab.bpehttps://openaipublic.blob.core.windows.net/gpt-2/encodings/main/encoder.json
请确保将这些文件下载并正确放置后,重启相关服务即可解决问题。
解决 无用评论 打赏 举报