84 lines
3.0 KiB
Markdown
84 lines
3.0 KiB
Markdown
# 智能知识库问答系统
|
||
|
||
## 项目简介
|
||
智能知识库问答系统是一个面向企业和课程的智能问答平台,主要功能是基于自有文档进行精准应答,减少人工答疑工作量。系统采用端到端的RAG(检索增强生成)架构,结合向量数据库和稀疏索引技术,实现高效准确的知识检索和智能问答。
|
||
|
||
## 核心功能
|
||
- **多格式文档上传**:支持PDF、Word、TXT等多种文档格式
|
||
- **智能知识管理**:自动解析、分词、向量化存储文档内容
|
||
- **混合检索**:结合向量相似度和关键词匹配的混合检索策略
|
||
- **智能问答**:基于检索结果生成准确的回答,支持多轮对话
|
||
- **文档管理**:支持查看和删除已上传的文档
|
||
|
||
## 技术栈
|
||
- **后端**:Python 3.9+, Flask
|
||
- **向量数据库**:ChromaDB
|
||
- **稀疏索引**:Whoosh(自定义中文分词器)
|
||
- **文本处理**:LangChain
|
||
- **前端**:HTML5, CSS3, JavaScript
|
||
- **开发环境**:macOS
|
||
|
||
## 团队成员与贡献
|
||
|
||
| 成员 | 学号 | 主要分工 |
|
||
|------|------|----------|
|
||
| 文彬龙 | 2411020224 | 核心逻辑开发、Prompt 编写 |
|
||
| 冯俊锋 | 2411020222 | 文档撰写、测试与 Bug 修复 |
|
||
| 赵珂皓 | 2411020217 | 前端界面设计、PPT 制作,成品汇报 |
|
||
|
||
## 安装和使用说明
|
||
|
||
### 1. 环境搭建
|
||
```bash
|
||
# 克隆仓库
|
||
git clone http://hblu.top:3000/Python2025-CourseDesign/group-wbl.git
|
||
|
||
# 进入项目目录
|
||
cd group-wbl
|
||
|
||
# 创建虚拟环境
|
||
python3 -m venv .venv
|
||
|
||
# 激活虚拟环境
|
||
source .venv/bin/activate # macOS/Linux
|
||
|
||
# 安装依赖
|
||
pip install -e .
|
||
```
|
||
|
||
### 2. 启动服务器
|
||
```bash
|
||
# 确保虚拟环境已激活
|
||
source .venv/bin/activate # 如果尚未激活
|
||
|
||
# 启动Flask服务器
|
||
python app.py
|
||
```
|
||
|
||
### 3. 访问系统
|
||
打开浏览器,访问 `http://localhost:5000` 即可使用系统。
|
||
|
||
## 项目结构
|
||
```
|
||
├── intelligent_knowledge_base.egg-info/ # 包信息
|
||
├── knowledge_base/ # 知识库存储目录
|
||
│ ├── chroma.sqlite3 # ChromaDB 数据库
|
||
│ ├── sparse_index/ # Whoosh 索引
|
||
├── templates/ # 前端模板
|
||
│ └── index.html # 主页面
|
||
├── .gitignore # Git 忽略文件
|
||
├── README.md # 项目说明
|
||
├── app.py # Flask 应用入口
|
||
├── knowledge_base.py # 知识库核心模块
|
||
├── pyproject.toml # 项目配置
|
||
└── uv.lock # 依赖锁文件
|
||
```
|
||
|
||
## 注意事项
|
||
- 首次启动系统时,会自动初始化知识库目录
|
||
- 上传大文件时可能需要较长时间处理
|
||
- 系统会自动为文档创建分块和索引,确保检索效率
|
||
- 建议使用Chrome或Safari浏览器以获得最佳体验
|
||
|
||
## 许可证
|
||
本项目仅供课程设计使用,未经授权不得用于商业目的。 |