可私有化部署ChatGPT Next Web并连接本地Ollama运行的Qwen2-7B模型,通过配置环境变量指向本地API、启动前端及可选LiteLLM代理与Nginx反向代理实现数据不出域、响应可控的对话系统。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

如果您希望在本地环境中运行类似ChatGPT的对话模型,并实现数据不出域、响应可控的私有化部署,则可借助开源框架如ChatGPT Next Web,配合本地运行的大语言模型服务。以下是具体实施路径:
一、准备本地大语言模型推理服务
ChatGPT Next Web本身不内置模型,需依赖外部API接口(如OpenAI格式)提供LLM能力。因此,需先在本地启动兼容OpenAI API协议的模型服务,例如使用Ollama、llama.cpp或vLLM托管量化后的开源模型。
1、下载并安装Ollama工具,执行ollama run qwen2:7b拉取并启动通义千问Qwen2-7B量化版本。
2、运行命令ollama serve启用本地API服务,默认监听http://127.0.0.1:11434。
3、验证服务可用性:执行curl http://localhost:11434/api/tags,返回包含qwen2:7b的JSON列表即表示服务已就绪。
二、配置ChatGPT Next Web连接本地模型
ChatGPT Next Web支持通过环境变量注入自定义API地址,使其绕过官方OpenAI端点,转而调用本地Ollama服务。该过程无需修改源码,仅需调整启动参数即可完成适配。
1、克隆项目仓库:git clone https://github.com/ChatGPT-Next-Web/ChatGPT-Next-Web.git。
2、进入项目目录后,复制.env.example为.env,编辑该文件。
3、将OPENAI_API_KEY设为任意非空字符串(如sk-xxxx),因Ollama无需密钥认证,此值仅用于通过前端校验。
4、将OPENAI_BASE_URL修改为http://localhost:11434/v1,确保路径末尾包含/v1以匹配OpenAI兼容接口规范。
5、设置MODEL_LIST为[{"name": "qwen2:7b", "available": true}],使前端下拉菜单显示该模型。
三、启动前端应用并访问界面
ChatGPT Next Web采用Vercel风格的轻量级部署模式,支持Docker与Node.js两种运行方式。本地调试推荐使用npm启动,便于实时查看日志与调试网络请求。
1、执行npm install安装依赖包。
2、执行npm run dev启动开发服务器,默认监听http://localhost:3000。
3、在浏览器中打开http://localhost:3000,登录后选择模型列表中的qwen2:7b,即可开始私有化对话。
4、首次提问时,前端将向http://localhost:11434/v1/chat/completions发起POST请求,Ollama接收后执行本地推理并流式返回结果。
四、使用LiteLLM代理层统一接口(替代方案)
当需同时对接多个本地模型(如Qwen、Llama3、Phi-3)或需添加负载均衡、缓存、日志审计等功能时,可在ChatGPT Next Web与Ollama之间引入LiteLLM作为中间代理。LiteLLM支持将不同后端模型抽象为统一OpenAI格式,降低前端适配复杂度。
1、安装LiteLLM:pip install litellm。
2、启动代理服务:litellm --model ollama/qwen2:7b --api_base http://localhost:11434,默认暴露http://0.0.0.0:4000/v1。
3、修改ChatGPT Next Web的.env文件,将OPENAI_BASE_URL指向http://localhost:4000/v1。
4、重启前端,此时所有请求经LiteLLM路由至Ollama,后续新增模型只需在LiteLLM启动命令中追加--model参数,无需改动前端配置。
五、启用反向代理保障HTTPS与跨域安全(生产环境方案)
直接暴露localhost:3000和localhost:11434存在跨域限制与协议不一致风险。在正式部署中,应使用Nginx反向代理统一入口,强制HTTPS,并将前后端路径收敛至同一域名下,避免浏览器CORS拦截。
1、安装Nginx,编辑/etc/nginx/conf.d/chatgpt.conf,配置server块监听443端口。
2、设置location /代理到http://127.0.0.1:3000(前端)。
3、设置location /v1/代理到http://127.0.0.1:11434/v1/(Ollama),注意保留尾部斜杠以确保路径重写正确。
4、申请Let’s Encrypt证书,启用SSL模块,确保proxy_set_header X-Forwarded-Proto https被正确传递。
5、重启Nginx后,通过https://your-domain.com访问,所有API请求将自动携带同源凭证,彻底规避跨域报错。










