# 数学题目查重系统 API 接口文档 本文档定义了数学题目查重系统与录题系统对接的 API 接口。 ## 基础信息 - **服务地址**: `http://:8888` - **数据格式**: `application/json` --- ## 1. 题目查重预检 (基于内容) 录题系统在录入题目时,调用此接口判断当前输入的内容是否与库中题目重复。 - **接口地址**: `/api/check_duplicate` - **请求方法**: `POST` - **请求参数**: | 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | stem | String | 是 | 题干内容 | | options | String/Object | 否 | 选项内容 (JSON 字符串或对象) | | answer | String | 否 | 答案 | | solution | String | 否 | 解析 | - **响应示例 (发现重复)**: ```json { "code": -1, "result": { "repeatIdList": [ { "questionsId": 12345, "repeatMsg": "相似度: 0.9256。相似点: 某某数学题干..." } ] } } ``` - **响应示例 (经过 GPT-4o 兜底确认重复)**: ```json { "code": -1, "result": { "repeatIdList": [ { "questionsId": 12345, "repeatMsg": "相似度: 0.7582 (经 GPT-4o 深度核验)。相似点: 某某数学题干..." } ] } } ``` - **响应示例 (无重复)**: ```json { "code": 0, "result": "ok" } ``` --- ## 2. 人工确认查重结果 录题系统完成录入并分配 ID 后,调用此接口通知查重系统该题的最终状态。查重系统会根据状态决定是否将该题加入向量检索库。 - **接口地址**: `/api/confirm_repeat` - **请求方法**: `POST` - **请求参数**: | 参数名 | 类型 | 必填 | 说明 | | :--- | :--- | :--- | :--- | | questionId | Integer | 是 | 数据库中的题目 ID | | isRepeat | Integer | 是 | 0: 确认不重复(将入库); 1: 确认重复(不入库) | - **响应示例**: ```json { "code": 0, "result": "ok" } ``` --- ## 3. 手动触发全量同步 将数据库 `questions_tem` 表中的存量题目同步到向量库中。 - **接口地址**: `/api/sync` - **请求方法**: `POST` - **响应示例**: ```json { "code": 0, "result": "Sync completed" } ``` --- ## 状态码说明 - `code: 0`: 操作成功或通过查重。 - `code: -1`: 操作失败、参数错误或发现重复题目。