# Vector Store based QA **Repository Path**: happy-koalar/vector-store-based-qa ## Basic Information - **Project Name**: Vector Store based QA - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-02 - **Last Updated**: 2026-09-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Vector Store Based QA System 基于向量数据库的智能问答系统,支持混合检索、知识库管理和 Excel 批量导入功能。 ## 功能特性 - **混合检索**:使用稠密向量与原生 BM25 两路召回,并通过 RRF 融合和分层拒绝减少无关结果 - **知识库管理**:提供完整的问答记录增删改查功能 - **Excel 导入**:支持批量导入问答数据 - **用户评价**:用户可对每次提问的整组检索结果评价,点踩须说明原因,管理员可查看并导出 - **管理面板**:管理员登录后可进行知识库和数据库连接维护 - **Docker 部署**:提供完整的容器化部署方案 ## 技术栈 - **后端框架**:FastAPI - **向量数据库**:Milvus - **嵌入模型**:BAAI/bge-m3 - **前端框架**:Streamlit - **容器化**:Docker ## 快速开始 ### 环境要求 - Docker 20.10+ - Milvus 单机或集群服务 - Python 3.11+(本地开发) - 本地下载的BGE-m3模型(模型路径:`models--BAAI--bge-m3/snapshots/5617a9f61b028005a4858fdac845db406aefb181`) - 需要修改`backend_milvus.py`中的`MODEL_PATH = Path(__file__).resolve().parent / "models--BAAI--bge-m3" / "snapshots" / "5617a9f61b028005a4858fdac845db406aefb181"`为实际模型路径 ### 使用 Docker 部署 Docker Compose 启动、数据卷管理,以及 Windows、macOS、Linux 的 AMD64/ARM64 镜像制作步骤见 [Docker 构建与分发](DOCKER_GUIDE.md)。 ### 本地开发 1. 安装依赖: ```bash pip install -r requirements.txt ``` 2. 配置 Milvus 连接: - 环境变量:`MILVUS_HOST` 和 `MILVUS_PORT` - 或通过界面的数据库配置页面连接 3. 启动服务: ```bash # 启动后端 uvicorn backend_milvus:app --host 0.0.0.0 --port 8000 # 启动前端(另开终端) streamlit run streamlit_ChatBot.py ``` ## 使用说明 ### 连接向量数据库 首次使用时,在管理员界面的数据库配置页填写 Milvus 连接信息: - Host:Milvus 服务器地址 - Port:Milvus 端口(默认 19530) ### 知识库管理 - **添加问答**:输入问题、内容,选择排序序号后添加 - **编辑问答**:可修改现有问答记录 - **删除问答**:支持单条删除和批量删除 - **Excel 导入**:上传标准格式的 Excel 文件批量导入问答数据 ### 智能问答 在搜索框输入问题,系统默认使用稠密向量与 BM25 混合检索,可在左侧栏选择返回 1~10 条结果;英文检索不区分大小写。 ## API 文档 | 端点 | 方法 | 描述 | |------|------|------| | `/health` | GET | 健康检查 | | `/connect` | POST | 连接 Milvus 数据库 | | `/query` | POST | 知识检索 | | `/feedback` | POST/GET | 提交或查看检索结果评价 | | `/feedback/export` | GET | 导出检索结果评价 | | `/records` | GET | 获取问答记录列表 | | `/records` | POST | 添加问答记录 | | `/records/{id}` | PUT | 更新问答记录 | | `/records/{id}` | DELETE | 删除问答记录 | | `/records/batch-delete` | POST | 批量删除问答记录 | | `/upload` | POST | Excel 文件上传 | ## 项目结构 ``` ├── Dockerfile # Docker 构建配置 ├── compose.yaml # 容器运行与数据卷配置 ├── DOCKER_GUIDE.md # 跨平台构建和分发说明 ├── backend_milvus.py # FastAPI 后端服务 ├── streamlit_ChatBot.py # Streamlit 前端界面 ├── requirements.txt # Python 依赖 ├── start.sh # 启动脚本 └── models--BAAI--bge-m3/ # 嵌入模型文件 ``` ## License 本项目遵循开源协议。