RAGChat 是一个基于 Spring Boot + Spring AI + pgvector 的私有化文档知识库智能问答系统,支持文档上传、检索增强生成(RAG)对话、用户管理与会话隔离。前端采用 Vue 3 + Vite,界面简洁,交互流畅。
- JDK 17 及以上
- Node.js 18 及以上
- Docker & Docker Compose
- PostgreSQL(推荐使用 pgvector 官方镜像)
在项目根目录下,使用 Docker Compose 启动 PostgreSQL(pgvector)和 pgAdmin:
docker-compose -f dev-ops/docker/docker-compose.yml up -d
- 数据库服务:localhost:5432,用户名/密码均为 postgres,库名 ragchat
- pgAdmin 管理工具:localhost:5050,邮箱 [email protected],密码 admin
进入后端目录,构建并启动 Spring Boot 服务:
cd rag-chat-backend
mvn clean package
java -jar target/rag-chat-backend-*.jar
- 数据库连接配置见
application.yml
,无需手动建表,JPA 会自动生成。
进入前端目录,安装依赖并启动开发环境:
cd rag-chat-frontend
npm install
npm run dev
- 生产环境构建:
npm run build
,可部署至 Nginx 或其他静态服务器。
- 浏览器访问前端页面,注册/登录。
- 上传文档,系统自动解析并入库。
- 在聊天窗口输入问题,系统基于 RAG 技术智能回复。
- 支持会话隔离与历史记录查询。
- 数据库和表结构自动创建,无需手动建表。
- pgvector 扩展已在官方镜像中启用。
- 如需自定义数据库名或端口,请同步修改 docker-compose 和后端配置。
- API 需要自己配置,本项目采用的是OpenAI-GPT4o,Embedding Model=text-embedding-3-small
- 启动服务:
docker-compose up -d
- 停止服务:
docker-compose down
- 查看日志:
docker-compose logs vector_db
MIT License
如有疑问或建议,请提交 Issue 或联系项目维护者。