chen_11111_1 2025-11-06 11:24 采纳率: 0%
浏览 43

dify工作流运行到模型节点报错HTTPSConnectionPool(host='openaipublic.blob.core.windows.net', port=443)

[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的分词文件,有没有大佬帮助解决下

  • 写回答

3条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-11-06 13:56
    关注

    让【宝码香车】来帮您解答,本回答参考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.json
    

    2. 传输文件到离线服务器

    将下载的文件传输到你的离线服务器,建议放置在以下目录:

    # 在离线服务器上创建目录
    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}")
    

    替代方案

    如果上述方法不适用,可以考虑:

    1. 使用其他本地模型:配置工作流使用完全本地的模型,避免依赖外部资源
    2. 修改模型配置:在模型配置中指定本地分词器路径
    3. 网络代理:在内网搭建一个代理服务器,将域名指向本地文件服务器

    文件下载地址

    所需文件的完整下载地址:

    • https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/vocab.bpe
    • https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/encoder.json

    请确保将这些文件下载并正确放置后,重启相关服务即可解决问题。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月6日