自建本地AI聊天机器人Serge 无需API密钥完全自托管 帕斯内网穿透远程访问!
作者
小编
发布时间

项目介绍
Serge 是一个基于 llama.cpp 构建的开源 LLM 聊天界面,让你可以完全自托管运行大语言模型,无需任何 API 密钥!这是一个真正意义上的本地化 AI 聊天解决方案,保护你的隐私和数据安全。
项目采用现代化的技术栈构建:SvelteKit 前端提供流畅的用户体验,Redis 负责存储聊天历史和参数配置,FastAPI + LangChain 构建强大的后端 API,通过 Python 绑定调用 llama.cpp 来运行各种 LLM 模型。
最重要的是,Serge 完全自托管,不依赖任何外部 API 服务,你的所有对话数据都保存在本地,确保隐私安全。支持多种 LLaMA 模型,可以根据你的硬件配置选择合适的模型大小。界面简洁美观,使用体验接近 ChatGPT,但完全运行在你自己的设备上。
项目地址: 点我跳转
部署安装
如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。
打开飞牛 NAS 或其他的 NAS 设备 点击本地镜像-添加镜像-从 URL 添加。这一步先添加 docker 镜像

镜像填 ghcr.io/serge-chat/serge:latest 等待下载完成后点击启动按钮启动容器

勾选开机自动启动后下一步,端口设置这里。请设置容器端口 8008 映射到主机端口 8008(如果端口冲突可以修改主机端口,比如改成 8009:8008,但容器内端口必须保持 8008)
存储位置这里,需要创建两个文件夹映射: - 创建一个文件夹用于存储模型权重文件,映射到容器的 /usr/src/app/weights - 创建一个文件夹用于存储数据库文件,映射到容器的 /data/db/
环境变量设置:可选设置,可以不填 - SERGE_DATABASE_URL:数据库连接字符串,默认值:sqlite:////data/db/sql_app.db - SERGE_JWT_SECRET:认证令牌加密密钥,建议设置一个随机字符串,默认值:uF7FGN5uzfGdFiPzR - SERGE_SESSION_EXPIRY:用户会话过期时间(分钟),默认值:60 - NODE_ENV:Node.js 运行环境,默认值:production
其他的都不用填写,直接下一步启动就好了。
创建成功后可以访问 ip:8008 到这里就可以正常显示项目了
穿透公网
打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道
隧道节点可以随便选,一般选个负载低的就可以

接下来填写信息,隧道名称可以随便填写
本地 IP 默认就可以
传输协议可以选择 TCP 也可以选择 HTTP/HTTPS
HTTP 就是域名的形式,教程以使用 TCP 为演示
本项目中如果没有修改端口的话默认是 8008 端口,这里本地端口就填 8008
远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定
点击刚才创建好的隧道,点击获取配置文件

回到飞牛 NAS,点击应用中心下载 frpc 客户端

打开后粘贴刚才复制的配置文件,点击确定即可
复制帕斯内网穿透控制台的访问 IP 和端口
可以看到已经正常穿透成功了
本篇教程结束