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

项目介绍
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 和端口
可以看到已经正常穿透成功了
本篇教程结束