Skip to content

About

基于RAG技术的水利知识问答系统,本项目为华北水利水电大学鲲鹏创新实验班课程的结课项目

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

水利知识 RAG 问答系统

根据目标需求构建知识库,基于RAG技术,构建面向知识问答的web系统,该系统能够回答水文化相关的问题(含水利工程、水利相关历史名人、水利习俗、河流湖泊介绍等),并具有记忆能力。

项目结构

project-root/

├── backend/

│ ├── api/ # FastAPI Web 服务

│ │ ├── app.py # API 入口,路由定义

│ │ ├── models.py # Pydantic 请求/响应模型

│ │ └── rag_service.py # RAG 调用封装 + 对话记忆管理

│ ├── RAG/ # 核心 RAG 模块(勿改动)

│ │ ├── main.py # 检索-重排-生成核心逻辑

│ │ ├── datas/ # 水利文本数据集

│ │ ├── database/ # ChromaDB 向量库持久化目录

│ │ └── models/ # Cross-Encoder 重排模型

│ └── RAG_test.py # CLI 入口(开发调试用)

├── frontend/ # Vue 3 + Element Plus 前端

│ ├── src/

│ │ ├── App.vue # 聊天界面主组件

│ │ └── main.js # Vue 入口

│ ├── index.html

│ ├── package.json

│ ├── package-lock.json

│ └── vite.config.js

├──requirements.txt #python环境所需的包

└── README.md #项目说明文档

部署教程

1. 部署python环境

在根目录路径下的终端中运行下列指令

pip install -r requirements.txt

将DEEPSEEK API-key 放进系统环境变量中,命名为DEEPSEEK_API_KEY,内容放入正确的api-key。

2. 部署前端环境

在根目录路径下的终端中按顺序运行下列指令

cd frontend
npm install

启动服务

  1. 启动后端服务

在根目录下运行下列代码:

uvicorn backend.api.app:app --host 0.0.0.0 --port 8000 --reload
  1. 启动前端服务

在根目录下运行下列代码:

cd frontend
npm run dev

前端默认运行在 http://127.0.0.1:3000 ,自动代理 API 请求到后端 8000 端口。

  1. 在浏览器中访问http://localhost:3000即可开始进行对话

特别说明:

  1. 首次部署完成提问之前要先进行重建向量数据库,否则将会出现错误,无法回答
  2. 启动后端服务,需要一些特殊手段,因为相关模型链接在国外的网站上面,否则将无法加载相关模型,进而无法启动后端服务
  3. 接口文档在http://127.0.0.1:8000/docs

About

基于RAG技术的水利知识问答系统,本项目为华北水利水电大学鲲鹏创新实验班课程的结课项目

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages