发布时间:2026/9/6 16:43:01
WeKnora 三步离线部署指南:无网络环境下搭建本地化文档问答平台 WeKnora 三步离线部署指南无网络环境下搭建本地化文档问答平台【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnoraWeKnora 是一个开源的 LLM 知识平台能把原始文档变成可查询的 RAG 问答系统。如果你的服务器在内网、涉密机房或断网环境里碰不到任何外部模型 API这篇文章就带你完整走一遍 WeKnora 离线部署所有组件容器化、数据全部落在本地磁盘照做就能跑起一套本地化的知识库问答。架构一眼懂全部跑在容器里一个字节不出机器先说结论WeKnora 的整套部署就是一组 Docker 容器——文档解析器、带向量扩展的 PostgreSQL、Redis、对象存储、后端 API 和前端界面全部本地运行组件之间只走容器内网离线场景下不需要、也不会产生任何外网请求。离线环境准备清单 动手之前先给服务器做个体检。对照下面这张表硬件、软件都齐了再往下走项目最低要求说明CPU8 核及以上推荐 16 核本地推理吃 CPU内存32GB 及以上大模型推理是内存大头磁盘200GB 可用空间放模型文件和向量索引SSD 最佳网络无需外网本地局域网即可Docker Engine20.10承载全部服务容器Docker Composev2多容器编排v1 脚本也能兼容回退三步启动全部服务第一步取代码把仓库克隆到内网机器上git clone https://gitcode.com/GitHub_Trending/we/WeKnora第二步改一份离线配置从模板复制出环境变量文件cd WeKnora cp .env.example .env然后打开.env按下面几个要点改每行都有中文注释改起来很快把STORAGE_TYPE保持为local文档文件直接写进本地磁盘不走对象存储把OLLAMA_BASE_URL指向你的本地 Ollama 服务Ollama 跑在宿主机上时一般填http://host.docker.internal:11434OLLAMA_OPTIONAL默认就是true意思是模型没就绪时只告警、不阻断启动这个默认值别动暂时用不上 Langfuse 链路观测的话相关变量全部留空即可。.env.example本身就是最好的文档不确定某个变量是干嘛的直接读它上面的注释。第三步一键拉起./scripts/start_all.sh --no-pull这个启动脚本会帮你做环境预检、补齐.env、检测 docker compose 命令然后拉起所有容器。--no-pull是离线模式的关键启动前不尝试拉取镜像镜像提前用离线介质导入过。如果想让脚本连 Ollama 一起装起来加个-o参数拿不准环境能不能跑先执行-c做一遍诊断。启动完成后跑一下docker compose ps确认所有服务都是 Up 状态然后在浏览器打开http://localhost看到 WeKnora 界面就说明平台就绪了。本地模型怎么选、怎么落地 模型文件从哪来离线机器连不上模型仓库所以模型文件要走外网机下载、离线机导入的路线先在一台有网的机器上把需要的模型拉下来导出成文件通过 U 盘或内网传输工具拷进机房再在 Ollama 宿主机上导入。常用组合是嵌入模型选bge-m3中文语义效果好对话模型选deepseek-r1:7b这类 7B 级别# 在有网机器上执行把模型拉下来导出 ollama pull bge-m3 ollama pull deepseek-r1:7b导入后在离线机上用ollama list确认两个模型都在。必改的 4 个配置项模型文件就位后检查.env里这几项与第二步的要点一致即可STORAGE_TYPElocal文件落本地磁盘OLLAMA_BASE_URL指向本地 Ollama 的实际地址和端口OLLAMA_OPTIONALtrue允许模型稍后接入先跑通平台数据库相关变量用默认值PostgreSQL 由 compose 一起启动DB_DRIVER、DB_NAME等不用动。Web 端设置要点浏览器访问http://localhost首次进入按引导注册并完成初始化。之后进入系统设置→模型配置把对话模型和嵌入模型分别指向刚导入的本地模型填上 Ollama 服务地址保存后重启一次 app 容器让配置生效。到这一步平台里所有走大模型的地方——问答、摘要、标题生成——都已经不再依赖外网。第一次上手体验从传文档到拿到回答登录之后你首先在左侧导航点新建知识库文档型知识库就能接收 PDF、Word、TXT 这类常见格式。把一份本地文档拖进上传区剩下的解析是自动的docreader 组件把文档转成结构化文本切分成块再由本地嵌入模型把每个块变成向量写进向量库。你只需要在文档列表里等状态变成已处理。然后进入问答。你输入一个问题系统会先做查询改写再执行混合检索关键词检索加向量检索从你的文档里捞出相关片段最后交给本地大模型基于这些片段生成回答回答下方还会标注引用了哪篇文档——整个提问 → 检索 → 生成的过程全部发生在你的机器上。出问题怎么办六个高频问答容器起不来或反复重启先docker compose logs app看后端卡在哪一步再确认.env里DB_DRIVER和STORAGE_TYPE这两个必填项没空着——启动脚本对它们是硬校验的。界面正常但提示模型连接失败十有八九是 Ollama 没在跑或者OLLAMA_BASE_URL写错了。Linux 宿主机上记得用host.docker.internal这个地址并确认 11434 端口在监听。模型加载特别慢7B 级模型纯 CPU 推理首 token 慢是正常的关掉其他占内存的应用或者换更小的量化版本。某篇文档解析失败先看格式是否受支持、文件是否损坏另外默认单文件上限是 50MB超大扫描件容易在这里撞墙。回答质量不够好换更大的对话模型或调整分块策略仓库里docs/CHUNKING.md有说明再考虑启用 rerank 模型提升检索精度。浏览器打不开页面检查 80 端口是否被别的程序占用换掉前端映射端口即可。更多细节可以看仓库里的docs/QA.md里面按症状整理了一份完整排障清单。调优与扩展资源方面如果服务器配置宽裕可以在docker-compose.yml里给app和 Ollama 加上deploy.resources限制把 CPU 和内存划清楚避免推理高峰期互相挤兑。内存紧张时优先降低模型量化位宽4-bit 比 8-bit 省一半显存/内存而不是硬上更大参数。后续可以按需求逐步加料接 GPU 提升推理速度、换更大参数模型提升回答质量、加本地 OCR 服务覆盖扫描版文档或者在多机之间做分布式扩展。这些都不需要改动离线部署的基本盘。写在最后对政府、金融、医疗这类对数据出网零容忍的场景这套方案的价值就在于解析、向量化、检索、问答全链路都在你自己的硬件上完成敏感文档一个字节都不离开机房。想继续深入从README_CN.md和docs/目录下的文档入手即可本文提到的启动脚本、配置模板和排障手册都在仓库里。【免费下载链接】WeKnoraOpen-source LLM knowledge platform: turn raw documents into a queryable RAG, an autonomous reasoning agent, and a self-maintaining Wiki.项目地址: https://gitcode.com/GitHub_Trending/we/WeKnora创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2026/9/6 16:38:01

Buzz:五步完成离线音频转录,在本地生成字幕文件

Buzz:五步完成离线音频转录,在本地生成字幕文件 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz Buzz …

2026/9/6 18:18:08

传统方法+机器学习:CO2捕集吸附剂筛选与设计协同框架

简介:在碳中和与气候治理需求日益迫切的全球背景下,二氧化碳捕集吸附剂设计已成为材料与能源领域的研究热点。文档面向材料科学、化学工程与人工智能交叉方向研究者及工程师,系统梳理传统吸附剂设计方法与机器学习协同创新的技术路径&#xf…

2026/9/6 18:18:08

ISO45001内审员考试试题这样用,备考效率翻倍

简介:这份ISO45001:2018内审员考试试题附答案PDF,面向企业职业健康安全管理体系内审员、安全管理人员及备考人员,用于检验对ISO45001标准条款、危险源辨识、风险评价与控制等核心知识的掌握程度。资源为1个PDF文件,压缩…

2026/9/6 0:06:59

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/6 0:06:59

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/6 0:06:59

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/6 0:06:59

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/6 0:06:59

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/6 0:06:59

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/6 11:40:10

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/5 2:30:42

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/6 10:19:40

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…