Dify内网项目解决tiktoken连接问题

问题:

在使用Dify内网环境项目中,出现:当对话正常开始后,系统尝试连接openaipublic.blob.core.windows.net的443端口失败,出现名称解析错误的问题。

原因:

在Dify项目中使用的tiktoken库默认会尝试从OpenAI的公共存储服务下载必要的词汇表文件。在内网环境下无法正常访问。tiktoken库需要两个关键文件来正常工作:1、vocab.bpe - 字节对编码词汇表文件 2、encoder.json - 编码器映射文件

解决方式:

(1)创建本地缓存目录:

bash 复制代码
mkdir tiktoken
cd tiktoken

(2)下载并重命名文件:

bash 复制代码
wget https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/vocab.bpe
cp vocab.bpe 6d1cbeee0f20b3d9449abfede4726ed8212e3aee

wget https://openaipublic.blob.core.windows.net/gpt-2/encodings/main/encoder.json
cp encoder.json 6c7ea1a7e38e3a7f062df639a5b80947f075ffe6

(3)配置Docker环境

修改Docker Compose文件,添加api-service环境变量:

bash 复制代码
environment:
  TIKTOKEN_CACHE_DIR: /app/api/.tiktoken/

添加卷映射,将本地缓存目录挂载到容器中:

bash 复制代码
volumes:
  - ./volumes/plugin_daemon:/app/storage
  - ./tiktoken:/app/api/.tiktoken

(3)修改库文件路径

对于特定模型插件(如Ollama),可能需要直接修改相关Python库文件中的路径设置:

定位到相关库文件:

Ollama: /App/storage/cwd/langgenius/ollama.../.venv/lib/site-packages/tiktoken_ext/openai_public.py

修改文件中的资源路径,指向本地缓存位置,修改以下位置:

bash 复制代码
def gpt2():
    mergeable_ranks = data_gym_to_mergeable_bpe_ranks(
        vocab_bpe_file="/app/api/tiktoken_cache/vocab.bpe",
        encoder_json_file="/app/api/tiktoken_cache/encoder.json",
        vocab_bpe_hash="1ce1664773c50f3e0cc8842619a93edc4624525b728b188a9e0be33b7726adc5",
        encoder_json_hash="196139668be63f3b5d6574427317ae82f612a97c5d1cdaf36ed2256dbf636783",
    )
相关推荐
lee_curry12 小时前
Dify+Ollama私有化部署方案
ai大模型·dify·ollama
技术小甜甜1 天前
Dify 工作流场景目录(2026):客服、回访、采购、知识库、系统集成怎么找入口
workflow·知识库·客服·工作流·dify·场景
weixin_431600442 天前
Agent Workflow 学习向:最小拖拽画布,看得见地编排,再一键跑通
后端·学习·ai·dify
星野云联AIoT技术洞察4 天前
Dify 适合什么 AI 应用项目:Workflow、RAG、Agent 与自研系统的边界
agent·workflow·llmops·dify·rag·ai agent·ai应用开发
XLYcmy11 天前
PDF论文处理器 - 功能总结
数据库·python·pdf·csv·pymupdf·dify·文本分割
鱼日先生11 天前
Dify 企业级实验(04):性能优化实战——长流程从 60 秒到秒回有哪些手段?
人工智能·工作流·dify·ai agent·大模型应用·ai 训练
鱼日先生12 天前
Dify 中级实验(17):调试监控与性能优化——响应慢和 Token 超支如何定位?
工作流·dify·ai agent·大模型应用·ai 训练
鱼日先生12 天前
Dify 高级实验(09):测试用例生成——如何让 AI 自动产出测试用例?
人工智能·测试用例·工作流·dify·ai agent·大模型应用·ai 训练
鱼日先生12 天前
Dify 企业级实验(03):事件驱动流水线——Webhook 与定时触发如何组成异步处理链?
人工智能·工作流·dify·ai agent·大模型应用·ai 训练
XLYcmy13 天前
pdf论文处理:CSV输出模式
数据库·python·pycharm·pdf·论文·csv·dify