# 数学题目查重服务 本服务基于向量相似度检索(FAISS)和 GPT-4o 深度模型,提供数学题目的查重功能。它能够识别语义相似的题目,并在相似度较低但存在重复风险时,调用大模型进行精准裁定。 ## 主要功能 - **向量查重**:利用 OpenAI `text-embedding-3-large` 模型将题目向量化,通过 FAISS 进行高性能检索。 - **加权比对**:支持对题干、选项、答案、解析四个部分进行加权计算。 - **AI 兜底**:当向量相似度处于 0.5 ~ 0.85 之间时,调用 GPT-4o 进行二次核验,提升准确率。 - **增量更新**:支持在录题过程中实时将新题目同步到向量索引库。 ## 快速开始 ### 1. 环境准备 确保已安装 Python 3.8+,并安装相关依赖: ```bash pip install -r requirements.txt ``` ### 2. 首次同步向量库 在首次使用前,需要将数据库中的存量题目同步到本地向量索引文件中: ```bash python3 -c "from duplicate_checker import QuestionDuplicateChecker; checker = QuestionDuplicateChecker(); checker.sync_all_from_db()" ``` ### 3. 启动 API 服务 启动 Flask 服务供录题系统调用: ```bash python3 app.py ``` 服务默认运行在 `8888` 端口。 ## 接口文档 详细的 API 定义请参考 [API_DOCUMENT.md](./API_DOCUMENT.md)。