3.0 KiB
3.0 KiB
智能知识库问答系统
项目简介
智能知识库问答系统是一个面向企业和课程的智能问答平台,主要功能是基于自有文档进行精准应答,减少人工答疑工作量。系统采用端到端的RAG(检索增强生成)架构,结合向量数据库和稀疏索引技术,实现高效准确的知识检索和智能问答。
核心功能
- 多格式文档上传:支持PDF、Word、TXT等多种文档格式
- 智能知识管理:自动解析、分词、向量化存储文档内容
- 混合检索:结合向量相似度和关键词匹配的混合检索策略
- 智能问答:基于检索结果生成准确的回答,支持多轮对话
- 文档管理:支持查看和删除已上传的文档
技术栈
- 后端:Python 3.9+, Flask
- 向量数据库:ChromaDB
- 稀疏索引:Whoosh(自定义中文分词器)
- 文本处理:LangChain
- 前端:HTML5, CSS3, JavaScript
- 开发环境:macOS
团队成员与贡献
| 成员 | 学号 | 主要分工 |
|---|---|---|
| 文彬龙 | 2411020224 | 核心逻辑开发、Prompt 编写 |
| 冯俊锋 | 2411020222 | 文档撰写、测试与 Bug 修复 |
| 赵珂皓 | 2411020217 | 前端界面设计、PPT 制作,成品汇报 |
安装和使用说明
1. 环境搭建
# 克隆仓库
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. 启动服务器
# 确保虚拟环境已激活
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浏览器以获得最佳体验
许可证
本项目仅供课程设计使用,未经授权不得用于商业目的。