# 智能知识库问答系统 ## 项目简介 智能知识库问答系统是一个面向企业和课程的智能问答平台,主要功能是基于自有文档进行精准应答,减少人工答疑工作量。系统采用端到端的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浏览器以获得最佳体验 ## 许可证 本项目仅供课程设计使用,未经授权不得用于商业目的。