PassNAT LogoPassNAT

自建RAG文档问答系统kotaemon本地部署,智能文档对话多模态AI助手,配置帕斯内网穿透实现远程访问

作者

小编

发布时间

Curving abstract shapes with an orange and blue gradient

项目介绍

kotaemon 是一个开源的、简洁且可定制的 RAG(检索增强生成)UI 界面,专为与文档聊天而设计。该项目同时面向最终用户和开发者,提供了一个功能完整的文档问答系统。

kotaemon 支持多用户登录、私有/公共文档集合管理、协作分享等功能。它兼容多种大语言模型(OpenAI、Azure OpenAI、Cohere 等 API 提供商以及通过 ollama 和 llama-cpp-python 的本地模型)。系统采用混合 RAG 管道,结合全文检索和向量检索,并支持重新排序以确保最佳检索质量。

特别值得一提的是,kotaemon 支持多模态问答,可以处理包含图表和表格的文档,提供高级引用功能和文档预览,支持复杂推理方法,并且具有可配置的设置界面。整个系统基于 Gradio 构建,具有很强的可扩展性。

项目地址:点我跳转

部署安装

如需在外也打开项目需要配置内网穿透使用,点击前往 帕斯内网穿透,先注册好账号备用。

kotaemon 提供了多种 Docker 镜像版本,包括 lite 版本(体积较小)和 full 版本(支持更多文件格式)。对于大多数用户,lite 版本已经足够使用。

打开飞牛 NAS 或其他的 NAS 设备 点击本地镜像-添加镜像-从 URL 添加。这一步先添加 docker 镜像

镜像填 ghcr.io/cinnamon/kotaemon:main-lite 等待下载完成后点击启动按钮启动容器

勾选开机自动启动后下一步,端口设置这里。请设置容器内端口 7860 映射到主机端口 7860(如果端口冲突可以修改主机端口,比如改为 7861,但容器内端口必须保持 7860)

存储位置这里,需要创建一个文件夹映射到容器的 /app/ktem_app_data 目录,用于持久化存储应用数据。建议在 NAS 上创建一个名为 kotaemon_data 的文件夹进行映射。

环境变量设置:必须设置 - GRADIO_SERVER_NAME:设置为 0.0.0.0 - GRADIO_SERVER_PORT:设置为 7860

选择设置,可以不填 - OPENAI_API_KEY:如果要使用 OpenAI 模型,需要填入 API 密钥 - AZURE_OPENAI_ENDPOINT:如果使用 Azure OpenAI,需要填入端点地址 - AZURE_OPENAI_API_KEY:如果使用 Azure OpenAI,需要填入 API 密钥

其他的都不用填写,直接下一步启动就好了。

创建成功后可以访问 ip:7860 到这里就可以正常显示项目了。默认用户名和密码都是 admin,登录后可以在界面上设置其他用户。

穿透公网

打开帕斯内网穿透控制台,点击隧道管理-隧道列表

点击创建新隧道

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

接下来填写信息,隧道名称可以随便填写

本地 IP 默认就可以

传输协议可以选择 TCP 也可以选择 HTTP/HTTPS

HTTP 就是域名的形式,教程以使用 TCP 为演示

本项目中如果没有修改端口的话默认是 7860 端口,这里本地端口就填 7860

远程端口可以留空也可以自定义。下图仅做参考,请按照实际项目端口添加。

填写完毕点击确定

点击刚才创建好的隧道,点击获取配置文件

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

打开后粘贴刚才复制的配置文件,点击确定即可

复制帕斯内网穿透控制台的访问 IP 和端口

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

本篇教程结束