group-wbl/README.md

3.0 KiB
Raw Blame History

智能知识库问答系统

项目简介

智能知识库问答系统是一个面向企业和课程的智能问答平台主要功能是基于自有文档进行精准应答减少人工答疑工作量。系统采用端到端的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浏览器以获得最佳体验

许可证

本项目仅供课程设计使用,未经授权不得用于商业目的。