简介:这是一份面向政企单位内网环境的 DeepSeek 离线部署完整指南,主要服务于 IT 运维人员、技术爱好者,以及需要在无互联网条件下搭建本地 AI 知识库的团队。资源以离线资源准备、多平台环境部署、RAG 数据投喂、访问控制与安全加固为主线,覆盖 Windows Server、Linux(含国产系统)与 macOS,并专门讲解国产化适配、Ollama API 与宝塔面板权限管理,能帮助读者避开内网缺少工具链接的常见困境。包内为单份 PDF 文档,共 1 个文件,大小 5.28MB,适合本地保存、打印或按章节参考。已有 1372 人学习/下载。内容给出模型离线包、Ollama 安装包、客户端及 RAG 依赖的获取与导入思路,并对比了两种 RAG 实现方式,其中 Cherry Studio 方案对新手更友好;读者可据此快速确定部署路径,掌握从模型导入、完整性校验到 API 访问控制的完整排错与加固要点。1. 内网部署大模型,先搞懂这到底卡在哪你在内网环境里想用上DeepSeek,是不是也有这种感觉:网上的教程一搜一大把,结果十条有八条开头就是“pip install”“git clone”,鼠标点到第三步就发现还得连外网。模型包几十个G,内网机器又没有互联网,传输靠U盘都觉得像搬砖。更麻烦的是,单位对安全有硬性要求,数据不能出内网,AI又不能不用。这就是内网部署AI知识库最真实的现状。这篇文章要做的,就是帮你把这条离线部署DeepSeek的路走通。我会从离线资源准备讲起,再到Windows和Linux上的具体部署,然后讲最实用的数据投喂和RAG知识库搭建,最后把访问控制和国产化适配这两个政企环境里躲不开的难题一起解决。全程按新手最容易上手的路径来讲,每一步给到能直接复制的命令和执行细节,让你跟着做就能把内网AI知识库跑起来。就算你只是会基本电脑操作,还没碰过大模型部署,也不用发怵,这套流程就是给零基础准备的。2. 准备离线资源:像是搬家前先把箱子和车找好内网部署最怕的不是装不上,而是装到一半发现少了一个包,又没法现下。所以这一章的核心就是“有备无患”。你想象一下搬家,东西再多,只要箱子够、车够,慢慢搬总能搬完。最怕的是搬到一半发现没有胶带,又得出门买。离线部署也是这个道理,准备阶段把模型包、安装包、依赖都搞齐,后面就顺了。2.1 模型离线包:从哪里下、怎么导进Ollama模型包是整个部署里体量最大的部分,也是最有讲究的部分。你需要下载三个东西:DeepSeek模型本体、一个文本向量模型(做RAG用,后面会讲到),以及用于导入Ollama的Modelfile配置。先说模型本体的下载渠道。最简单的方式是找一台能上网的电脑,从模型仓库下载GGUF格式的文件。GGUF是Ollama能直接识别的模型文件格式,相当于你把模型打包好后搬到内网。下载时优先选你跑得动的规格,内存不太充裕的机器先从7b或8b的小模型练手,跑顺了再换大的。模型文件下载完成后,导入Ollama需要一个Modelfile文件。这个文件的写法很简单,在模型文件同级目录下新建一个文本文件,命名为Modelfile,里面写一行内容指定模型路径即可。然后打开命令行,进入模型文件夹,执行导入命令:cd /你的模型文件目录 ollama create bge-m3-q8_0-bert_cpp -f Modelfile ollama list第一条命令进入模型所在目录,第二条命令把模型导入Ollama,第三条命令查看导入结果。如果你看到列表里出现了对应的模型名称,说明导入成功了。我第一次做这一步的时候,总担心命令敲错,后来发现只要是路径对了,基本不会翻车。2.2 Ollama安装包:没有它,模型就是一堆死文件Ollama是把模型跑起来的运行环境,相当于一个“模型管家”。它负责加载模型、响应你的提问、处理并发请求。内网环境里不能在线装,所以需要提前把安装包准备好。# 在有网的机器上执行,下载Ollama安装脚本 curl -fsSL https://ollama.com/install.sh | sh # 下载完成后,找到ollama二进制文件,通常在/usr/bin或/usr/local/bin which ollama这个脚本会自动帮你把Ollama装好,然后你要做的事情是把ollama这个二进制文件拷贝到U盘或共享文件夹,带到内网机器上。Windows和macOS的用户可以直接从官网下完整的安装包,拷贝进内网双击安装就行了。2.3 客户端:你和大模型对话的窗口模型跑来跑去,但你总得有个聊天窗口来提问。可选的客户端有两大类。一类是本地桌面客户端,比如Cherry Studio、Chatbox,安装后把服务地址指向内网的Ollama地址就行。另一类是Web客户端,比如Lobe Chat,它跑在服务器上,内网同事打开浏览器就能访问,适合团队使用。如果你打算用Lobe Chat,需要提前把Docker镜像准备好。Docker镜像相当于一个特定软件的完整运行环境,打包好之后带到内网加载就行。# 在有网的机器上拉取镜像 docker pull lobehub/lobe-chat # 保存为tar文件 docker save -o lobe-chat.tar lobehub/lobe-chat # 将tar文件拷贝到内网后加载 docker load -i lobe-chat.tar2.4 完整性校验:别让坏文件浪费你几小时在拷贝进内网之前,我一直建议做一个校验。模型文件动辄几十G,拷贝过程万一出问题,安装时怎么都跑不起来,排查半天才发现是文件坏了。这个坑太常见了,我踩过一次之后就再也不敢省这一步。# Linux/macOS下校验文件哈希值 sha256sum /你的模型文件路径 # Windows PowerShell下执行 Get-FileHash -Algorithm SHA256 /你的模型文件路径把算出来的哈希值和官方提供的值对比,一致就说明文件完整。这一步花不了两分钟,但能帮你省下大半天排查时间。传输方式方面,最简单的就是用U盘或移动硬盘直接拷贝,注意物理安全就行。模型文件太大可以先用7-Zip分卷压缩,到内网再解压。如果单位有安全网闸设备,也可以通过网闸进行数据交换,安全级别更高。3. 把服务跑起来:Windows和Linux部署其实就那几件事资源准备齐了,接下来就是正式部署。你会发现,部署Ollama服务这件事,在Windows、Linux、macOS上步骤基本一致,无非是:装Ollama、配环境变量、开放端口、启动服务。难点不在安装本身,而在于环境变量的配置和服务的稳定运行。3.1 Windows Server部署:先让它在本机跑通Windows部署最简单,双击安装包一路Next就行。重点在环境变量的配置上。右键“此电脑”,进入“属性”,找到“高级系统设置”,点“环境变量”,在系统变量里新建两个关键的变量。# 设置Ollama监听地址,0.0.0.0表示允许内网其他机器访问 OLLAMA_HOST = 0.0.0.0:11434 # 模型存储路径(可选,想换位置就配置) OLLAMA_MODELS = D:\ollama\models配置完成后重启Ollama服务。如果改完环境变量发现没生效,大概率是服务没重启。Windows下可以打开服务管理器,找到Ollama服务,右键点重启。然后安装客户端,不管用Cherry Studio还是Chatbox,设置里填的地址就是刚才配置的IP和端口,格式是http://服务器IP:11434。端口不是你随便定的,Ollama默认就是11434,内网防火墙需要放行这个端口的入站请求。Windows下的放行命令是:netsh advfirewall firewall add rule name="Ollama" dir=in action=allow protocol=TCP localport=11434这条命令的意思是添加一条入站规则,名字叫Ollama,放行TCP协议的11434端口。如果不做这一步,内网其他电脑连过来会被防火墙拦掉。3.2 Linux Server部署:用systemd让它永远活着Linux部署稍微复杂,但逻辑更清晰。先把之前拷贝进来的ollama二进制文件放到 /usr/local/bin 目录,赋予执行权限:sudo cp ollama /usr/local/bin/ sudo chmod +x /usr/local/bin/ollama然后配置环境变量。我建议直接用systemd来管Ollama,这样服务意外退出后能自动重启,开机也能自动启动。创建一个服务配置文件:sudo vim /etc/systemd/system/ollama.service文件内容如下:[Unit] Description=Ollama Service After=network.target [Service] User=你的用户名 WorkingDirectory=/你的工作目录 ExecStart=/usr/local/bin/ollama serve Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_MODELS=/你的模型目录" Restart=always [Install] WantedBy=multi-user.target# 重新加载配置 sudo systemctl daemon-reload # 设置开机自启并启动 sudo systemctl enable ollama sudo systemctl start ollama # 查看运行状态 sudo systemctl status ollama这套systemd配置是Linux部署的核心,很多人部署完一重启机器服务就没了,就是因为少了enable这一步。Restart=always这个参数很关键,它确保服务崩了能自动救回来,这个配置我第一次学的时候忽略了,后来模型跑到一半Ollama意外退出,整台机器没反应,重启才恢复。从那以后我每次配置服务都会强制把Restart=always加上。Linux防火墙也要放行端口。CentOS/RHEL上用firewall-cmd,Ubuntu/Debian上用ufw:# CentOS/RHEL sudo firewall-cmd --permanent --add-port=11434/tcp && sudo firewall-cmd --reload # Ubuntu sudo ufw allow 11434/tcp3.3 macOS部署:和Linux大同小异macOS的部署和Linux差别不大,只是环境变量配置在.zshrc文件里。如果你用的是Mac,执行以下步骤:# 编辑配置文件 vim ~/.zshrc # 添加以下内容 export OLLAMA_HOST="0.0.0.0:11434" export OLLAMA_MODELS="/你的模型目录" # 使配置生效 source ~/.zshrcmacOS有一个额外的坑,就是Gatekeeper安全机制可能会拦截Ollama的启动。如果遇到“已损坏,无法打开”的提示,不要急着关SIP,先去系统偏好设置的“隐私与安全性”里手动允许运行。另外可以用launchctl来管理Ollama的开机启动:launchctl load /Library/LaunchDaemons/ollama.plist这一步是可选的,如果不做,每次开机后手动启动一次Ollama也不影响使用。4. 把自己单位的资料喂进去:零基础也能做RAG数据投喂部署完成,能对话了,但其实这时候模型对你单位的内部资料一无所知。真正让知识库有用的,是把你单位的文档、手册、制度文件“喂”给模型。这个过程叫RAG,也就是检索增强生成。简单说,就是把你的文档切块、向量化、存起来,用户提问时先从这些文档里检索相关内容,再交给大模型组织答案。4.1 先理解RAG的四个步骤:切块、向量化、存库、检索不用把RAG想得太玄学,它本质就是四个环节。第一步,把文档切成小块,因为大模型的处理窗口是有限的,不能把整本手册一次性扔进去。第二步,把每个文本块转换成向量,你可以理解成给每一段文字生成一个“语义指纹”,方便后续匹配。第三步,把向量和原始文本存进数据库。第四步,用户提问时,系统拿问题也去生成向量,和库里所有文本块比对相似度,把最相关的内容挑出来,连同问题一起交给大模型生成回答。对于新手来说,你不需要自己写代码来实现这四个步骤。用Cherry Studio这个客户端,它可以帮你把文档导入并自动完成向量化。这是新手最推荐的方式,省掉了所有编程环节。4.2 最省事的一条路:用Cherry Studio直接喂数据先下载并安装Cherry Studio,安装完成后需要通过一个“接入点”与Ollama连接。过程中需要在设置里添加一个文本向量模型,用于把文档转换成向量。进入设置界面,找到“模型服务”,添加Ollama,填入地址,然后在模型列表里找到名字类似embedding的模型并添加。这个操作是为了让知识库具备“理解文本语义”的能力。之后回到对话界面,找到知识库功能,新建一个知识库,选择刚添加的向量模型,然后把你单位的文档拖进去。支持的格式有txt、pdf、docx、md。Cherry Studio会自动切块和向量化,之后你在对话时勾选这个知识库,模型就会优先从文档里找答案。如果你问的是文档里没写过的冷门问题,模型会明确说不知道,而不是编造一个答案——这一点特别重要。4.3 想更进一步:认识传统RAG的数据处理流程如果你以后想要更可控的处理流程,参考传统RAG的做法:用Python处理docx、pdf、md等文档格式,进行文本预处理,包括清洗和分块,再用嵌入模型进行向量化,最后存入ChromaDB等向量数据库。整个RAG流程其实可以归纳为“切块─向量化─存库—检索”这条主线。但现阶段先不要自己造轮子。第一次做知识库,就用Cherry Studio的现成功能,跑通全流程后再回来研究细节。5. 别把服务裸奔放内网:安全加固与国产化适配要点模型跑通、知识库也喂进去了,这时候最容易放松警惕,觉得“反正内网别人进不来”。事实恰恰相反,内网部署最常见的漏洞是服务端口默认对外开放、API没有访问控制。别人只要能访问到你的服务器IP和端口,就有可能直接调用你的模型服务,窃取数据,甚至让你的模型变成别人的免费算力。5.1 访问控制的三个关键动作先讲Ollama API的访问控制问题。Ollama默认是不加认证的,这意味着只要内网任何一台机器能访问11434端口,就能直接调你的模型。解决办法就是在防火墙上限制来源IP,只允许特定网段访问。例如只允许单位办公网段访问:sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=11434 protocol=tcp accept' sudo firewall-cmd --reload如果用的是Lobe Chat这类Web界面,一定要设置访问码。Lobe Chat部署时通过环境变量ACCESS_CODE指定访问密码,用户没有这个码是无法进入对话界面的。每次看到有人把Lobe Chat部署好却不设访问码,我都替他捏一把汗。# 部署Lobe Chat时设置访问码 docker run -d -p 3210:3210 \ -e ACCESS_CODE=你自己设的访问码 \ --name lobe-chat \ lobehub/lobe-chat如果你想更细致地管用户,Lobe Chat自带的用户管理系统可以分权限,给不同部门不同的模型访问范围。这是政企环境里很实用的一个功能。另外如果你用的是宝塔面板管理服务器,可以在面板的安全设置里直接放行特定端口并限定来源IP。宝塔面板的“安全”菜单支持添加端口规则,来源IP填写你单位出口IP或办公网段,这样就多了一层控制。需要提醒的是,宝塔面板本身也有一个默认管理端口,尽早改掉默认配置会更安心。5.2 国产化适配:从操作系统到CPU架构国产化适配是政企内网部署AI绕不开的需求。好消息是,Ollama对国产化环境的支持比想象中要好。操作系统层面,市面上的主流国产Linux发行版,包括基于Debian或CentOS内核改版的操作系统,通常可以直接安装ollama二进制运行。安装时如果碰到依赖缺失,用系统自带的包管理器补齐基础库就行,不需要额外编译。CPU架构层面,这需要特别注意。国产化服务器常见的有ARM架构(鲲鹏、飞腾)和x86架构(海光、兆芯)。Ollama对不同架构支持情况不一样。x86架构基本没压力,直接用标准版二进制就能跑。ARM架构要确认用的是适配ARM64的版本。这里有一个血泪经验:下载的时候,先看服务器的CPU架构,命令是uname -m,输出aarch64说明是ARM64,输出x86_64说明是x86架构。别下错了版本,否则怎么装都跑不起来。GPU硬件方面,如果服务器有国产GPU,比如华为昇腾或寒武纪,首先要确认Ollama是否支持。目前官方对GPU加速的支持主要集中在NVIDIA的CUDA生态。国产GPU可能需要用CPU模式跑推理,或者等待各家芯片厂商后续提供适配方案。入门的话,建议先用CPU模式跑通流程。CPU跑小模型,比如7b或8b参数的版本,速度虽然比不上GPU,但日常用完全够。等流程跑顺了,再考虑GPU加速的优化方案。6. 避坑指南:新手部署最容易翻车的五个瞬间部署过程中翻车太正常了,我自己第一次部署的时候也折腾到凌晨。下面这五个是新手最常见的问题,我把每个的“现象─原因─解决”都讲透,你遇到的时候直接对照着处理。坑一:改了环境变量,Ollama没反应现象:我把OLLAMA_HOST改成了0.0.0.0:11434,但内网其他电脑还是访问不了。 原因:环境变量改了,服务没重启。 解决:每次修改环境变量后,必须重启Ollama服务。Windows下在服务管理器里找到Ollama右键重启,Linux下执行sudo systemctl restart ollama。坑二:端口放行了,还是连不上现象:防火墙规则配了,服务也起来了,客户端连接提示拒绝访问。 原因:有两种可能,一是服务用的端口和客户端填的端口不一致,二是服务器上有多个网卡,Ollama监听在了错误的IP上。 解决:先确认Ollama到底监听在哪个IP和端口上,用netstat -tlnp | grep 11434查Linux,Windows用netstat -ano | findstr 11434。看到监听地址是0.0.0.0:11434才算正常。坑三:导入模型后,ollama list里看不到现象:执行了ollama create,返回成功了,但ollama list里没有新模型。 原因:Modelfile里写的路径不对,或者是模型文件名写错了。 解决:确认模型文件和Modelfile在同一个目录下,文件名和Modelfile里的路径完全一致。Linux下注意区分大小写,这是最容易忽略的问题。坑四:模型加载特别慢,甚至超时现象:在客户端里选好模型,等了很久才能开始对话。 原因:机器内存不够,模型太大,或者磁盘读写慢。 解决:换小一号的模型,7b比32b对内存友好得多。另外确认模型文件放在本地磁盘而不是U盘上跑,这个是我见过的最容易忽略的问题。千万别从U盘里启动模型,速度会让你怀疑人生。坑五:Lobe Chat起不来,卡在Docker步骤现象:docker run执行完,容器过几秒就退出了,看日志也看不明白。 原因:大概率是环境变量没配置对,尤其OPENAI_API_KEY格式有问题,或者端口被占用。 解决:先用docker logs lobe-chat看日志,根据日志排查。端口占用就改端口,例如把 -p 3210:3210 改成 -p 3211:3210,左边是你访问的端口,右边是容器内部端口,右边不要动。7. 下一步怎么学:从跑通到跑好的自学路径走到这一步,你已经有了一个能对话、能查内部资料的内网AI知识库。不管是在Windows还是Linux上部署,不管你用的是Cherry Studio还是Lobe Chat,核心的服务链路都已经在你手里了。如果你想继续深入,我建议按这条路径往下走。第一步,把RAG的细节吃透。用Cherry Studio跑通知识库之后,至少要了解文本是怎么被切块的、向量模型是怎么匹配的。推荐去学一下ChromaDB的基本用法,动手把一篇文档拆成块、存进向量库、再做一次检索。这段旅程会让你在组织内部落地时,遇到“为什么这篇文档查不到”“为什么回答不准确”这类问题时有直接的切入点。第二步,学习权限管理。你现在的服务可能只是靠访问码挡着,但对政企环境来说,用户的身份认证、操作审计、模型调用统计,这些才是评估安全性的重点。可以找一套轻量的身份认证服务,把Lobe Chat的接入认证换成你单位的统一登录体系。这一步做扎实了,这套系统才能真正交给同事们用,而不只是自己调试玩具。第三步,考虑性能优化。如果多人同时使用,Ollama默认的并发处理能力可能不够。学习调整OLLAMA_NUM_THREAD参数,控制模型占用的CPU线程数。再用活动监视器或top命令观察模型服务的内存和CPU占用情况。我之前遇到过一种情况,模型推理很慢,一查才发现磁盘空间不足,swap频繁交换,清理了一下磁盘就好了。最后,记得保持“最小可用”的习惯。每一次改动环境变量、升级模型或添加新的客户端,都先在一台测试机上跑通,再放到正式环境。从那以后,我每次给正式环境部署前都强制走过一遍这个流程,宁可在测试机上多花一小时,也不要在生产环境上救火一整天。希望帮到你,从零到一这步迈出去,后面就是经验积累的问题了。本文还有配套的精品资源,点击获取
简介:这是一份面向政企单位内网环境的 DeepSeek 离线部署完整指南,主要服务于 IT 运维人员、技术爱好者,以及需要在无互联网条件下搭建本地 AI 知识库的团队。资源以离线资源准备、多平台环境部署、RAG 数据投喂、访问控制与安全加固为主线,覆盖 Windows Server、Linux(含国产系统)与 macOS,并专门讲解国产化适配、Ollama API 与宝塔面板权限管理,能帮助读者避开内网缺少工具链接的常见困境。包内为单份 PDF 文档,共 1 个文件,大小 5.28MB,适合本地保存、打印或按章节参考。已有 1372 人学习/下载。内容给出模型离线包、Ollama 安装包、客户端及 RAG 依赖的获取与导入思路,并对比了两种 RAG 实现方式,其中 Cherry Studio 方案对新手更友好;读者可据此快速确定部署路径,掌握从模型导入、完整性校验到 API 访问控制的完整排错与加固要点。1. 内网部署大模型,先搞懂这到底卡在哪你在内网环境里想用上DeepSeek,是不是也有这种感觉:网上的教程一搜一大把,结果十条有八条开头就是“pip install”“git clone”,鼠标点到第三步就发现还得连外网。模型包几十个G,内网机器又没有互联网,传输靠U盘都觉得像搬砖。更麻烦的是,单位对安全有硬性要求,数据不能出内网,AI又不能不用。这就是内网部署AI知识库最真实的现状。这篇文章要做的,就是帮你把这条离线部署DeepSeek的路走通。我会从离线资源准备讲起,再到Windows和Linux上的具体部署,然后讲最实用的数据投喂和RAG知识库搭建,最后把访问控制和国产化适配这两个政企环境里躲不开的难题一起解决。全程按新手最容易上手的路径来讲,每一步给到能直接复制的命令和执行细节,让你跟着做就能把内网AI知识库跑起来。就算你只是会基本电脑操作,还没碰过大模型部署,也不用发怵,这套流程就是给零基础准备的。2. 准备离线资源:像是搬家前先把箱子和车找好内网部署最怕的不是装不上,而是装到一半发现少了一个包,又没法现下。所以这一章的核心就是“有备无患”。你想象一下搬家,东西再多,只要箱子够、车够,慢慢搬总能搬完。最怕的是搬到一半发现没有胶带,又得出门买。离线部署也是这个道理,准备阶段把模型包、安装包、依赖都搞齐,后面就顺了。2.1 模型离线包:从哪里下、怎么导进Ollama模型包是整个部署里体量最大的部分,也是最有讲究的部分。你需要下载三个东西:DeepSeek模型本体、一个文本向量模型(做RAG用,后面会讲到),以及用于导入Ollama的Modelfile配置。先说模型本体的下载渠道。最简单的方式是找一台能上网的电脑,从模型仓库下载GGUF格式的文件。GGUF是Ollama能直接识别的模型文件格式,相当于你把模型打包好后搬到内网。下载时优先选你跑得动的规格,内存不太充裕的机器先从7b或8b的小模型练手,跑顺了再换大的。模型文件下载完成后,导入Ollama需要一个Modelfile文件。这个文件的写法很简单,在模型文件同级目录下新建一个文本文件,命名为Modelfile,里面写一行内容指定模型路径即可。然后打开命令行,进入模型文件夹,执行导入命令:cd /你的模型文件目录 ollama create bge-m3-q8_0-bert_cpp -f Modelfile ollama list第一条命令进入模型所在目录,第二条命令把模型导入Ollama,第三条命令查看导入结果。如果你看到列表里出现了对应的模型名称,说明导入成功了。我第一次做这一步的时候,总担心命令敲错,后来发现只要是路径对了,基本不会翻车。2.2 Ollama安装包:没有它,模型就是一堆死文件Ollama是把模型跑起来的运行环境,相当于一个“模型管家”。它负责加载模型、响应你的提问、处理并发请求。内网环境里不能在线装,所以需要提前把安装包准备好。# 在有网的机器上执行,下载Ollama安装脚本 curl -fsSL https://ollama.com/install.sh | sh # 下载完成后,找到ollama二进制文件,通常在/usr/bin或/usr/local/bin which ollama这个脚本会自动帮你把Ollama装好,然后你要做的事情是把ollama这个二进制文件拷贝到U盘或共享文件夹,带到内网机器上。Windows和macOS的用户可以直接从官网下完整的安装包,拷贝进内网双击安装就行了。2.3 客户端:你和大模型对话的窗口模型跑来跑去,但你总得有个聊天窗口来提问。可选的客户端有两大类。一类是本地桌面客户端,比如Cherry Studio、Chatbox,安装后把服务地址指向内网的Ollama地址就行。另一类是Web客户端,比如Lobe Chat,它跑在服务器上,内网同事打开浏览器就能访问,适合团队使用。如果你打算用Lobe Chat,需要提前把Docker镜像准备好。Docker镜像相当于一个特定软件的完整运行环境,打包好之后带到内网加载就行。# 在有网的机器上拉取镜像 docker pull lobehub/lobe-chat # 保存为tar文件 docker save -o lobe-chat.tar lobehub/lobe-chat # 将tar文件拷贝到内网后加载 docker load -i lobe-chat.tar2.4 完整性校验:别让坏文件浪费你几小时在拷贝进内网之前,我一直建议做一个校验。模型文件动辄几十G,拷贝过程万一出问题,安装时怎么都跑不起来,排查半天才发现是文件坏了。这个坑太常见了,我踩过一次之后就再也不敢省这一步。# Linux/macOS下校验文件哈希值 sha256sum /你的模型文件路径 # Windows PowerShell下执行 Get-FileHash -Algorithm SHA256 /你的模型文件路径把算出来的哈希值和官方提供的值对比,一致就说明文件完整。这一步花不了两分钟,但能帮你省下大半天排查时间。传输方式方面,最简单的就是用U盘或移动硬盘直接拷贝,注意物理安全就行。模型文件太大可以先用7-Zip分卷压缩,到内网再解压。如果单位有安全网闸设备,也可以通过网闸进行数据交换,安全级别更高。3. 把服务跑起来:Windows和Linux部署其实就那几件事资源准备齐了,接下来就是正式部署。你会发现,部署Ollama服务这件事,在Windows、Linux、macOS上步骤基本一致,无非是:装Ollama、配环境变量、开放端口、启动服务。难点不在安装本身,而在于环境变量的配置和服务的稳定运行。3.1 Windows Server部署:先让它在本机跑通Windows部署最简单,双击安装包一路Next就行。重点在环境变量的配置上。右键“此电脑”,进入“属性”,找到“高级系统设置”,点“环境变量”,在系统变量里新建两个关键的变量。# 设置Ollama监听地址,0.0.0.0表示允许内网其他机器访问 OLLAMA_HOST = 0.0.0.0:11434 # 模型存储路径(可选,想换位置就配置) OLLAMA_MODELS = D:\ollama\models配置完成后重启Ollama服务。如果改完环境变量发现没生效,大概率是服务没重启。Windows下可以打开服务管理器,找到Ollama服务,右键点重启。然后安装客户端,不管用Cherry Studio还是Chatbox,设置里填的地址就是刚才配置的IP和端口,格式是http://服务器IP:11434。端口不是你随便定的,Ollama默认就是11434,内网防火墙需要放行这个端口的入站请求。Windows下的放行命令是:netsh advfirewall firewall add rule name="Ollama" dir=in action=allow protocol=TCP localport=11434这条命令的意思是添加一条入站规则,名字叫Ollama,放行TCP协议的11434端口。如果不做这一步,内网其他电脑连过来会被防火墙拦掉。3.2 Linux Server部署:用systemd让它永远活着Linux部署稍微复杂,但逻辑更清晰。先把之前拷贝进来的ollama二进制文件放到 /usr/local/bin 目录,赋予执行权限:sudo cp ollama /usr/local/bin/ sudo chmod +x /usr/local/bin/ollama然后配置环境变量。我建议直接用systemd来管Ollama,这样服务意外退出后能自动重启,开机也能自动启动。创建一个服务配置文件:sudo vim /etc/systemd/system/ollama.service文件内容如下:[Unit] Description=Ollama Service After=network.target [Service] User=你的用户名 WorkingDirectory=/你的工作目录 ExecStart=/usr/local/bin/ollama serve Environment="OLLAMA_HOST=0.0.0.0:11434" Environment="OLLAMA_MODELS=/你的模型目录" Restart=always [Install] WantedBy=multi-user.target# 重新加载配置 sudo systemctl daemon-reload # 设置开机自启并启动 sudo systemctl enable ollama sudo systemctl start ollama # 查看运行状态 sudo systemctl status ollama这套systemd配置是Linux部署的核心,很多人部署完一重启机器服务就没了,就是因为少了enable这一步。Restart=always这个参数很关键,它确保服务崩了能自动救回来,这个配置我第一次学的时候忽略了,后来模型跑到一半Ollama意外退出,整台机器没反应,重启才恢复。从那以后我每次配置服务都会强制把Restart=always加上。Linux防火墙也要放行端口。CentOS/RHEL上用firewall-cmd,Ubuntu/Debian上用ufw:# CentOS/RHEL sudo firewall-cmd --permanent --add-port=11434/tcp && sudo firewall-cmd --reload # Ubuntu sudo ufw allow 11434/tcp3.3 macOS部署:和Linux大同小异macOS的部署和Linux差别不大,只是环境变量配置在.zshrc文件里。如果你用的是Mac,执行以下步骤:# 编辑配置文件 vim ~/.zshrc # 添加以下内容 export OLLAMA_HOST="0.0.0.0:11434" export OLLAMA_MODELS="/你的模型目录" # 使配置生效 source ~/.zshrcmacOS有一个额外的坑,就是Gatekeeper安全机制可能会拦截Ollama的启动。如果遇到“已损坏,无法打开”的提示,不要急着关SIP,先去系统偏好设置的“隐私与安全性”里手动允许运行。另外可以用launchctl来管理Ollama的开机启动:launchctl load /Library/LaunchDaemons/ollama.plist这一步是可选的,如果不做,每次开机后手动启动一次Ollama也不影响使用。4. 把自己单位的资料喂进去:零基础也能做RAG数据投喂部署完成,能对话了,但其实这时候模型对你单位的内部资料一无所知。真正让知识库有用的,是把你单位的文档、手册、制度文件“喂”给模型。这个过程叫RAG,也就是检索增强生成。简单说,就是把你的文档切块、向量化、存起来,用户提问时先从这些文档里检索相关内容,再交给大模型组织答案。4.1 先理解RAG的四个步骤:切块、向量化、存库、检索不用把RAG想得太玄学,它本质就是四个环节。第一步,把文档切成小块,因为大模型的处理窗口是有限的,不能把整本手册一次性扔进去。第二步,把每个文本块转换成向量,你可以理解成给每一段文字生成一个“语义指纹”,方便后续匹配。第三步,把向量和原始文本存进数据库。第四步,用户提问时,系统拿问题也去生成向量,和库里所有文本块比对相似度,把最相关的内容挑出来,连同问题一起交给大模型生成回答。对于新手来说,你不需要自己写代码来实现这四个步骤。用Cherry Studio这个客户端,它可以帮你把文档导入并自动完成向量化。这是新手最推荐的方式,省掉了所有编程环节。4.2 最省事的一条路:用Cherry Studio直接喂数据先下载并安装Cherry Studio,安装完成后需要通过一个“接入点”与Ollama连接。过程中需要在设置里添加一个文本向量模型,用于把文档转换成向量。进入设置界面,找到“模型服务”,添加Ollama,填入地址,然后在模型列表里找到名字类似embedding的模型并添加。这个操作是为了让知识库具备“理解文本语义”的能力。之后回到对话界面,找到知识库功能,新建一个知识库,选择刚添加的向量模型,然后把你单位的文档拖进去。支持的格式有txt、pdf、docx、md。Cherry Studio会自动切块和向量化,之后你在对话时勾选这个知识库,模型就会优先从文档里找答案。如果你问的是文档里没写过的冷门问题,模型会明确说不知道,而不是编造一个答案——这一点特别重要。4.3 想更进一步:认识传统RAG的数据处理流程如果你以后想要更可控的处理流程,参考传统RAG的做法:用Python处理docx、pdf、md等文档格式,进行文本预处理,包括清洗和分块,再用嵌入模型进行向量化,最后存入ChromaDB等向量数据库。整个RAG流程其实可以归纳为“切块─向量化─存库—检索”这条主线。但现阶段先不要自己造轮子。第一次做知识库,就用Cherry Studio的现成功能,跑通全流程后再回来研究细节。5. 别把服务裸奔放内网:安全加固与国产化适配要点模型跑通、知识库也喂进去了,这时候最容易放松警惕,觉得“反正内网别人进不来”。事实恰恰相反,内网部署最常见的漏洞是服务端口默认对外开放、API没有访问控制。别人只要能访问到你的服务器IP和端口,就有可能直接调用你的模型服务,窃取数据,甚至让你的模型变成别人的免费算力。5.1 访问控制的三个关键动作先讲Ollama API的访问控制问题。Ollama默认是不加认证的,这意味着只要内网任何一台机器能访问11434端口,就能直接调你的模型。解决办法就是在防火墙上限制来源IP,只允许特定网段访问。例如只允许单位办公网段访问:sudo firewall-cmd --permanent --add-rich-rule='rule family=ipv4 source address=192.168.1.0/24 port port=11434 protocol=tcp accept' sudo firewall-cmd --reload如果用的是Lobe Chat这类Web界面,一定要设置访问码。Lobe Chat部署时通过环境变量ACCESS_CODE指定访问密码,用户没有这个码是无法进入对话界面的。每次看到有人把Lobe Chat部署好却不设访问码,我都替他捏一把汗。# 部署Lobe Chat时设置访问码 docker run -d -p 3210:3210 \ -e ACCESS_CODE=你自己设的访问码 \ --name lobe-chat \ lobehub/lobe-chat如果你想更细致地管用户,Lobe Chat自带的用户管理系统可以分权限,给不同部门不同的模型访问范围。这是政企环境里很实用的一个功能。另外如果你用的是宝塔面板管理服务器,可以在面板的安全设置里直接放行特定端口并限定来源IP。宝塔面板的“安全”菜单支持添加端口规则,来源IP填写你单位出口IP或办公网段,这样就多了一层控制。需要提醒的是,宝塔面板本身也有一个默认管理端口,尽早改掉默认配置会更安心。5.2 国产化适配:从操作系统到CPU架构国产化适配是政企内网部署AI绕不开的需求。好消息是,Ollama对国产化环境的支持比想象中要好。操作系统层面,市面上的主流国产Linux发行版,包括基于Debian或CentOS内核改版的操作系统,通常可以直接安装ollama二进制运行。安装时如果碰到依赖缺失,用系统自带的包管理器补齐基础库就行,不需要额外编译。CPU架构层面,这需要特别注意。国产化服务器常见的有ARM架构(鲲鹏、飞腾)和x86架构(海光、兆芯)。Ollama对不同架构支持情况不一样。x86架构基本没压力,直接用标准版二进制就能跑。ARM架构要确认用的是适配ARM64的版本。这里有一个血泪经验:下载的时候,先看服务器的CPU架构,命令是uname -m,输出aarch64说明是ARM64,输出x86_64说明是x86架构。别下错了版本,否则怎么装都跑不起来。GPU硬件方面,如果服务器有国产GPU,比如华为昇腾或寒武纪,首先要确认Ollama是否支持。目前官方对GPU加速的支持主要集中在NVIDIA的CUDA生态。国产GPU可能需要用CPU模式跑推理,或者等待各家芯片厂商后续提供适配方案。入门的话,建议先用CPU模式跑通流程。CPU跑小模型,比如7b或8b参数的版本,速度虽然比不上GPU,但日常用完全够。等流程跑顺了,再考虑GPU加速的优化方案。6. 避坑指南:新手部署最容易翻车的五个瞬间部署过程中翻车太正常了,我自己第一次部署的时候也折腾到凌晨。下面这五个是新手最常见的问题,我把每个的“现象─原因─解决”都讲透,你遇到的时候直接对照着处理。坑一:改了环境变量,Ollama没反应现象:我把OLLAMA_HOST改成了0.0.0.0:11434,但内网其他电脑还是访问不了。 原因:环境变量改了,服务没重启。 解决:每次修改环境变量后,必须重启Ollama服务。Windows下在服务管理器里找到Ollama右键重启,Linux下执行sudo systemctl restart ollama。坑二:端口放行了,还是连不上现象:防火墙规则配了,服务也起来了,客户端连接提示拒绝访问。 原因:有两种可能,一是服务用的端口和客户端填的端口不一致,二是服务器上有多个网卡,Ollama监听在了错误的IP上。 解决:先确认Ollama到底监听在哪个IP和端口上,用netstat -tlnp | grep 11434查Linux,Windows用netstat -ano | findstr 11434。看到监听地址是0.0.0.0:11434才算正常。坑三:导入模型后,ollama list里看不到现象:执行了ollama create,返回成功了,但ollama list里没有新模型。 原因:Modelfile里写的路径不对,或者是模型文件名写错了。 解决:确认模型文件和Modelfile在同一个目录下,文件名和Modelfile里的路径完全一致。Linux下注意区分大小写,这是最容易忽略的问题。坑四:模型加载特别慢,甚至超时现象:在客户端里选好模型,等了很久才能开始对话。 原因:机器内存不够,模型太大,或者磁盘读写慢。 解决:换小一号的模型,7b比32b对内存友好得多。另外确认模型文件放在本地磁盘而不是U盘上跑,这个是我见过的最容易忽略的问题。千万别从U盘里启动模型,速度会让你怀疑人生。坑五:Lobe Chat起不来,卡在Docker步骤现象:docker run执行完,容器过几秒就退出了,看日志也看不明白。 原因:大概率是环境变量没配置对,尤其OPENAI_API_KEY格式有问题,或者端口被占用。 解决:先用docker logs lobe-chat看日志,根据日志排查。端口占用就改端口,例如把 -p 3210:3210 改成 -p 3211:3210,左边是你访问的端口,右边是容器内部端口,右边不要动。7. 下一步怎么学:从跑通到跑好的自学路径走到这一步,你已经有了一个能对话、能查内部资料的内网AI知识库。不管是在Windows还是Linux上部署,不管你用的是Cherry Studio还是Lobe Chat,核心的服务链路都已经在你手里了。如果你想继续深入,我建议按这条路径往下走。第一步,把RAG的细节吃透。用Cherry Studio跑通知识库之后,至少要了解文本是怎么被切块的、向量模型是怎么匹配的。推荐去学一下ChromaDB的基本用法,动手把一篇文档拆成块、存进向量库、再做一次检索。这段旅程会让你在组织内部落地时,遇到“为什么这篇文档查不到”“为什么回答不准确”这类问题时有直接的切入点。第二步,学习权限管理。你现在的服务可能只是靠访问码挡着,但对政企环境来说,用户的身份认证、操作审计、模型调用统计,这些才是评估安全性的重点。可以找一套轻量的身份认证服务,把Lobe Chat的接入认证换成你单位的统一登录体系。这一步做扎实了,这套系统才能真正交给同事们用,而不只是自己调试玩具。第三步,考虑性能优化。如果多人同时使用,Ollama默认的并发处理能力可能不够。学习调整OLLAMA_NUM_THREAD参数,控制模型占用的CPU线程数。再用活动监视器或top命令观察模型服务的内存和CPU占用情况。我之前遇到过一种情况,模型推理很慢,一查才发现磁盘空间不足,swap频繁交换,清理了一下磁盘就好了。最后,记得保持“最小可用”的习惯。每一次改动环境变量、升级模型或添加新的客户端,都先在一台测试机上跑通,再放到正式环境。从那以后,我每次给正式环境部署前都强制走过一遍这个流程,宁可在测试机上多花一小时,也不要在生产环境上救火一整天。希望帮到你,从零到一这步迈出去,后面就是经验积累的问题了。本文还有配套的精品资源,点击获取