如何本地部署ChatGPT

模型与算力

讲清「本地部署 ChatGPT」到底能做到什么:能替代哪些能力、替代不了哪些,以及硬件、工具、量化档位怎么选。

很多人搜「如何本地部署 ChatGPT」,其实是想把网页版对话体验搬到自己的机器上:不联网、不怕限流、数据不出本机。但 ChatGPT 的权重并没有公开,你能装的是一个能力接近的开源模型,加上一层网页界面。这篇按判断标准和可执行动作来写:先分清哪些需求能满足,再算硬件、选工具、配对话前端,最后给一份上线前的自检清单。

搜「如何本地部署ChatGPT」的人,十有八九想要的是把网页版那种对话体验搬回自己机器:不联网、不怕限流、聊天记录不出本机。但得先把一件事说清楚:ChatGPT 的权重并没有公开,你能装的是能力接近的开源模型,再加上一层网页界面。「本地部署」这套动作能给你一个像样的替代品,但给不了官方那一整套东西。

所以这篇不灌概念,按判断标准加可执行动作来写。第一步先分清哪些需求能满足、哪些满足不了;能落地再谈硬件门槛、工具选型、量化档位、对话前端,最后给一份上线前自检清单和「干脆别折腾」的适用情形。全文不写死任何数字,凡是要看当时行情的地方,都会指到站内页面让你自己去核对。

先分清:哪些需求能落地,哪些落不了地

最好先把需求拆成「模型能力」和「产品外壳」两层。模型能力这块,开源替代基本能兜住日常问答、长文档阅读、批量文本处理;产品外壳这块,比如官方账号里的历史记录、订阅权益、联网检索生态和插件,就得你自己搭或者干脆放弃。分不清这两层,很容易花一晚上装完,发现要的那个功能根本不在开源这一侧。

你要的能力本地部署能不能给怎么办
离线多轮对话能装运行层加一个对话前端
本地文档问答、知识库检索能,但要额外组件界面层挂检索模块
把接口给内网其他程序调用能运行层起一个本地 HTTP 接口
限流、按量计费能规避本地不按调用量结算
原版权重、官方插件生态不能走官方订阅或官方接口
官方账号里的历史与订阅权益不能本地不继承任何官方账户数据

硬件门槛:按显存反推能跑多大的模型

硬件这事有个反直觉的顺序:先看显存,再看算力。能跑多大的模型主要由显存决定,生成快不快才轮到算力和显存带宽。很多人先盯着显卡型号买,结果发现显存差一点,模型加载直接失败,只能往下换小一号的参数量或者上更狠的量化。

  1. 先算显存账把目标模型参数量按你打算用的量化档位估一遍占用,再加上上下文长度带来的缓存开销,得出一个粗略需求值。
  2. 拿不准就用量化压缩显存装不下,先降量化档位;降完还装不下,再考虑显存加内存混合卸载,代价是生成速度肉眼可见地掉。
  3. 用站内测算页核对到 /models/deploy 的部署测算页,按你手上的显卡和参数量跑一遍,比照抄别人的配置靠谱。
  4. 查规格和名词加速卡规格去 /compute/gpus 核对;显存带宽、统一内存这类名词不懂就去 /ai-dict/category/hardware 查。

机型选择上,苹果统一内存的机器适合个人轻量使用,胜在安静省电;独显台式机适合要并发、要更长上下文的场景。要注意的是,如果你的目标是让三五个同事同时用,个人玩票的配置基本撑不住,得按服务化思路重新算资源。机型与具体数字会随时间变,到 /compute/gpus 看当时的行情价和规格。

工具怎么选:运行层、界面层分开看

工具别一股脑装,先分成两层看。运行层负责下载权重、加载推理、暴露一个本地接口;界面层负责把接口包装成聊天网页。这两层可以来自不同项目,混着选完全正常,反而分开选更容易排查问题——出故障时你能立刻判断是模型没起来,还是前端没连上。

  • 个人单机、想快点跑起来:选带一键安装和内置模型仓库的运行工具,配一个开源对话前端就能用
  • 要多人内网使用、关心并发和吞吐:换成偏服务化的推理框架,代价是安装和调参复杂度上一个台阶
  • 只想先试试水:用最省事的那套装完跑通,再决定要不要换重型方案
  • 找工具别凭记忆:到 /tools 看本地工具箱,对照功能差异再决定装哪个
  • 装完先确认两件事:命令行下能不能对话、接口能不能被本机另一个程序调用

第二条确认很重要。很多人命令行里聊得挺顺,一接前端就连不上,问题往往出在接口没真正对外监听。工具目录和功能对比会更新,具体推荐去 /tools 看当时收录了哪些。

量化档位怎么选:显存、速度、质量三者的取舍

量化就是拿一点输出质量换显存和速度,换多少取决于档位。别指望有「又快又准又省」的选项,那是三选二。判断标准很简单:拿同一批真实任务在两个档位下各跑一遍,肉眼比对差异,再决定值不值得省那点显存。用跑分代替真实任务,很容易得出误导性结论。

档位占用与速度适合什么什么情况下不适用
高精度占用最大,速度最慢逻辑推理、细节准确性敏感的任务显存紧张或只是做摘要分类
中低比特占用明显下降,速度常有提升日常问答、文档阅读、批量处理长链条推理要求高时可能答偏
极低比特能塞进小显存摘要、分类这类轻任务多步推理和精确计算场景

档位命名和底层概念容易看花眼,别只盯着文件名里的数字,去 /ai-dict/category/tech 把量化、精度这些概念对一遍,再选档。另外同一模型不同量化版本的实际表现,最好用你自己的任务集验证一次,别人的结论未必适用你的场景。

配一个「像 ChatGPT」的对话界面

界面层的价值不在好看,在解决四件事:多轮会话历史、模型切换、会话持久化、可选的文件上传或知识库挂载。前两件是基础,后两件是可选项。建议顺序是先把纯对话跑通,再加历史持久化,最后才动知识库——一次全装上,出问题你根本不知道是哪一层导致的。

  • 运行层起服务后,记下它的本地地址和端口,界面里填的地址必须和这个一致
  • 容器与宿主机的地址不一样,这是「前端连不上后端」最常见的原因,先怀疑这里
  • 要联网搜索或接本地文档,界面层通常得再装检索组件,这部分会额外吃内存和磁盘
  • 接口调不通时按固定顺序查:服务是否在跑 → 端口是否监听 → 地址填的是容器还是宿主 → 防火墙
  • 多人共用时给界面加上鉴权,裸奔的对话界面谁都能访问

数据、许可与商用边界

权重许可不等于随便用。不同开源模型对商用、署名、二次分发的要求差别很大,用之前把许可正文读一遍,而不是看别人一句「可商用」就默认没问题。本地跑也不代表合规自动过关——涉及个人信息和行业数据时,数据来源和留存策略仍要看。

你的用法重点看什么判断标准
纯自己用模型下载来源是否正规来源清楚、能对上官方仓库即可
对内提供服务许可里的商用条款是否明确允许内部使用
对外提供服务商用条款与用户量限制有明确限制的要么换模型要么谈授权
处理敏感数据数据来源与留存策略本地存储也要有清理和访问控制

拿不准就去 /safety 看安全与合规入口,再决定要不要换成许可更宽松的模型。这条路没有一劳永逸的答案,模型许可会更新,定期回看一次自己的用法是否还合规。

上线前自检清单

跑通不等于能长期用。上线前把下面五类过一遍,比事后救火省力得多。清单不代表绝对保证,只是把最常见的坑提前暴露出来。

  1. 功能自检连续多轮对话不串话、长输入不截断报错、重启后历史还在。
  2. 性能自检记录首字延迟和每秒输出字数,用真实任务压一遍,别只看跑分。
  3. 资源自检盯显存和内存峰值,留出余量,避免边跑边被系统回收。
  4. 安全自检要给局域网或公网访问就先确认有没有鉴权,没鉴权就别暴露出去。
  5. 回退自检留一份能跑通的旧配置,换新版模型或量化档位出问题能立刻切回来。

回退这一条最容易被忽略。本地部署的乐趣就在于什么都能调,但调坏了没有回退点,就得从头装一遍。留一份配置备份的成本很低,收益很高。

什么情况下不建议本地部署

本地部署不是万能药,有些场景它反而更费事。下面几种情况,先算清楚成本再动手,或者干脆别动手。

  • 只需要偶尔问答、对数据不出本机没要求:用官方或聚合平台的按量接口更省事
  • 需要顶尖推理质量或官方多模态生态:本地开源模型目前补不上这块差距
  • 没有独显、只有轻薄本:可以试小参数量模型尝个鲜,但别指望它承担日常工作
  • 团队多人稳定使用又没人愿意维护:先算运维成本,再决定自建还是调用
  • 预算和时间都紧张、只是想做个小功能:先用现成接口验证需求,跑通了再考虑本地

如果你正处于「想自建又想省事」的两难,一个实用的折中做法是先用现成接口把需求验证通,再判断数据敏感度是否真的需要本地。价格和可用套餐会变,到 /price-watch 核对当时的数字,再决定走哪条路。

下一步先别急着装。到 /models/deploy 按你手上的显卡算一遍能跑多大模型,再回 /tools 对照本地工具箱挑运行层和界面层,两件事花不了十分钟,能省掉一整晚的返工。

常见问题

本地部署后是不是就和 ChatGPT 完全一样了?

不是。你装的是开源模型加一个自建界面,对话形式像,但权重、训练数据和联网生态都不是同一套。日常问答、写稿、总结这类任务够用;涉及官方特有的插件、多模态和最新联网信息,本地这条路补不上。

没有独立显卡能不能跑?

能跑小参数量模型,但速度慢、上下文短,体验和网页版差得远。核显和统一内存机型更适合轻量试用。先到部署测算页按你的硬件算一遍能跑多大,再决定要不要折腾。

量化之后质量掉多少?

没有统一答案,取决于模型、档位和任务类型。摘要分类这类任务通常感觉不出来,长链条推理和细节数字容易出错。建议用你自己的真实任务在两个档位下各跑一遍再定。

跑起来很慢,先查哪里?

先确认是不是走了显存+内存混合卸载,再看上下文是不是开得太大,最后看有没有别的程序占着显存。改小上下文和换低一档量化通常立竿见影。

本地部署之后还需要联网吗?

纯对话不需要联网,权重下载完就能离线跑。但如果你挂了联网搜索或在线知识库组件,那部分仍然要网。先想清楚哪些环节必须联网,再决定要不要装这些组件。

本文依据各平台公开文档与官方公告整理,只做中文归纳;具体做法、参数与限制以官方文档为准。