PassNAT LogoPassNAT

自建本地AI聊天机器人Serge 无需API密钥完全自托管 帕斯内网穿透远程访问!

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

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 和端口

可以看到已经正常穿透成功了

本篇教程结束