本地私有AI聊天助手 Serge 离线运行LLM 无需API密钥 NAS极简部署内网穿透远程访问
作者
小编
发布时间

项目介绍
Serge 是一个功能强大的本地大语言模型聊天界面,它基于 llama.cpp 构建,让你可以完全离线运行 LLM 模型,无需任何 API 密钥。这是一个真正意义上的自主托管解决方案,为用户提供了完整的隐私保护和数据控制权。
项目采用现代化的技术栈构建:前端使用 SvelteKit 打造美观的用户界面,后端基于 FastAPI 和 LangChain 框架,通过 llama.cpp 的 Python 绑定来调用模型,同时使用 Redis 存储聊天历史记录和参数配置。无论你是 AI 爱好者还是隐私保护倡导者,Serge 都能让你轻松部署和运行各种开源大语言模型,享受本地化的 AI 对话体验。
项目地址:点我跳转
部署安装
如需在外网也能访问你的 Serge 服务,建议配置内网穿透工具。可以前往 帕斯内网穿透 注册账号,具体的操作步骤可以 点我查看 全平台内网穿透上手指南。
最快速部署方案 - Docker 单命令启动
打开飞牛 NAS 或其他 NAS 设备的管理面板,进入容器管理模块。
点击 本地镜像 - 添加镜像 - 从 URL 添加,在镜像地址栏填入:
1ghcr.io/serge-chat/serge:latest
等待镜像下载完成后,点击启动按钮创建容器。
端口映射设置:
这一步很关键。容器内部使用的是 `8008` 端口,你需要将其映射到宿主机。如果你的 NAS 上 8008 端口已被占用,可以修改宿主机端口号(比如改成 8080、8888 等),但容器内的 8008 端口保持不变。
存储卷配置:
Serge 需要两个持久化存储位置:
'weights' - 用于存放下载的模型文件
'datadb' - 用于存储聊天历史和数据库文件
在 NAS 中分别创建这两个文件夹,然后将它们映射到容器内对应的路径。
环境变量设置:
以下是可选的环境变量配置,如果你想自定义设置可以填写:
选择设置(可以不填):
'SERGE_DATABASE_URL' - 数据库连接字符串,默认值:'sqlite:////data/db/sql_app.db'
'SERGE_JWT_SECRET' - 认证令牌加密密钥,建议使用随机字符串替换默认值 'uF7FGN5uzfGdFiPzR'
'SERGE_SESSION_EXPIRY' - 用户会话过期时间(分钟),默认值:'60'
'NODE_ENV' - Node.js 运行环境,默认值:'production'
其他设置保持默认即可,直接下一步启动容器。
访问应用:
容器启动成功后,在浏览器中访问 `http://你的NAS地址:8008` 即可进入 Serge 聊天界面。同时,API 文档可以在 `http://你的NAS地址:8008/api/docs` 查看。
内存提示
⚠️ 重要提示:LLaMA 模型对内存需求较高,请确保你的 NAS 有足够的可用内存来运行所选的模型,否则可能导致程序崩溃。建议先从较小的模型开始尝试。
本篇教程结束