RAG是做什么的
RAG 本地知识库,一般是用来存放公司自己的材料------比如制度、产品手册、FAQ、售后文档------ 将这些资料投喂给 AI,当在有人提问时,AI 会先从这些材料里找出相关内容,再交给大模型组织成回答,不会胡编乱造。
简单说:它让助手【有据可查】,依据的是你们上传的知识,而不是凭通识瞎编。材料有更新时,主要改知识库即可。
Dify + RAG 能做出什么效果
Dify 是应用侧的 LLM 编排平台,它把知识库、提示词、工作流、模型接入、对话日志等收进同一套控制台,方便产品、运营、开发一起把【能演示的问答】做成【能给业务用的应用】。
结合 RAG 之后,比较常见的落地效果是:
- 企业内部知识问答 :制度、流程、产品参数、售后口径,员工用自然语言问,回答尽量带回知识库依据。
- 客服 / 实施辅助 :把手册和历史案例入库,一线先查助手再人工确认,缩短翻文档时间。
- 带工具的工作流 :不只聊天------检索后还可以接分支逻辑、调用内部 API、生成结构化结果。
很多团队会把整套 dify/RAG 知识库放在内网:文档和向量库更可控,推理也能接内网 Ollama。
知识库和应用都在内网跑起来之后,麻烦常出在这里:控制台在内网,人却经常不在内网 ,导致访问不了知识库
这时候就需要用到 ZeroNews 内网穿透, ZeroNews 把Dify控制 映射成团队能共用的公网可访问的 HTTPS 地址;这样外出同事在任意位置都能访问内网知识库,数据面仍留在内网。
ZeroNews 穿透方案
ZeroNews 为用户提供企业级的高稳定可靠的内网穿透方案,企业只需要在服务器上运行 ZeroNews 客户端,即可为 Dify 分配一个公网可访问的 HTTPS 隧道,企业员工通过HTTPS 隧道域名就可以在浏览器中访问 RAG知识库,不用装任何客户端,满足敏感数据继续留在在内网 ,同时再叠加多种安全策略, 保障敏感数据的访问安全。

相比 VPN,ZeroNews 更加简单,精确发布应用服务,通过 HTTPS 访问,用户端无需安全任何客户端,只需要有浏览器即可
在对比其他穿透工具, ZeroNews 满足公网访问的基础功能之上, 用户可以叠加 IP 白名单 / 路由白名单 / 地址围栏等访问控制策略, 保障访问安全。
ZeroNews + Dify + RAG 怎么落地
在内网落地部署 Dify , 数据/材料 及 ZeroNews 客户端,数据始终在内网
- 准备内容 :整理 RAG 知识库所需的数据及文档
- Dify 部署 :内网部署 Dify, 并添加大模型
- 导入知识库 :在 Dify 里创建知识库、上传文件、等待解析与索引。
- 做成应用 :新建聊天助手或 Workflow,挂上知识库,写好提示词(要求基于检索结果回答、不确定就说明等)
- 内网试聊 :同事在工作室里多轮提问,根据答非所问、幻觉、漏检,回头调文档、分段或提示词。
- 运行ZeroNews :部署 ZeroNews 客户端, 添加 HTTPS 隧道。
- 交给业务用 :将隧道域名地址开放给对应用户,用户直接通过浏览器访问
ZeroNews + Dify + RAG 部署
我们在内网的 ubuntu 服务器上部署 Dify, 大模型 我们采用 阿里云的 千问大模型
用 Docker Compose 部署 Dify
按照官网提供的 docker compose 方式进行安装:先克隆仓库,再在 docker 目录里启动。
git clone https://github.com/langgenius/dify.git`
`cd dify/docker`
`cp .env.example .env`
`docker compose up -d`
`
会自动帮我们部署好 Postgres 数据库 / redis / 向量库 及 nginx, 不用再单独部署。
部署完成后,浏览器打开
http://127.0.0.1:80/install
按页面完成初始化、创建管理员

登录后,先添加大模型

在集成菜单的模型供应商下面,我们安装 通义的大模型, 兵设置 通义的 API 密钥



创建 RAG 知识库
大模型安装完成后,开始添加 RAG 知识库
进入到 知识库 菜单,选择 创建即用型知识库

导入前面准备的知识库文档

索引方式选择 高质量,同时 Embedding 模型 选择 text-embedding-v4 ,其他的默认设置

等待知识库处理文档处理完

再进入到工作室菜单,我点击创建空白应用

然后选择 chatflow 多轮对话的工作流,输入应用名称

然后进入到 工作室的编排 工作流。我们插入一个 知识检索,放到 用户输入,LLM 之间,在知识库的召回设置中,选择前面添加好的知识库

然后再设置 LLM
在 SYSTEM 中,输入提示词:
你只能根据下方【知识库内容】回答,内容要覆盖全面。若知识库没有相关信息,直接说【知识库中未找到相关说明】,不要编造产品定位或接口用途。
在 USER 中,增加 知识检索

LLM 设置完成后,然后点右上方的 发布 按钮,点击发布更新

然后点击运用,我们测试下知识库

运行 ZeroNews 客户端
在 Ubuntu 上,我们采用 linux 的在线安装脚本安装 ZeroNews 客户端
登录 ZeroNews 控制台, 在控制台【快速开始】页面,复制 linxu 的安装命令,安装 linux 客户端启动 ZeroNews 客户端

curl -SLk https://download.zeronews.cc/linux/zeronews-install.sh | sudo sh -s install <TOKEN>
zeronews service start
等待安装完成后,回到 ZeroNews 控制台 → 设备 / 客户端列表,对应设备应为在线 。

添加域名并添加 Dify 隧道
添加域名
在控制台的自定义域名菜单下添加域名,如 添加域名 difysole


添加 Dify 隧道
在控制台的隧道管理 菜单下添加 隧道,
- 配置如下:
- 协议 :HTTPS
- 公网域名 :上一步的 difysole
- 绑定设备 :刚上线的 Client
- 内网地址 :同机 127.0.0.1;
- 内网端口 :80


测试下访问,打开隧道的域名,dify 访问正常

根据实际访问需求配置访问策略
IP 白名单
如,设置只允许分公司/合作伙伴的公网IP 允许访问

地区限制
对于不确定的公网IP地址,我们配置 地址围栏限制允许访问的 区域

小结
ZeroNews 满足企业自建 Dify / RAG,知识库数据和编排留在内网;然后由 ZeroNews 统一控制远程访问入口,用户不用装任何客户端, 保障业务系统及数据的安全合规的访问。