API_DOCUMENT.md 2.3 KB

数学题目查重系统 API 接口文档

本文档定义了数学题目查重系统与录题系统对接的 API 接口。

基础信息

  • 服务地址: http://<server-ip>:8888
  • 数据格式: application/json

1. 题目查重预检 (基于内容)

录题系统在录入题目时,调用此接口判断当前输入的内容是否与库中题目重复。

  • 接口地址: /api/check_duplicate
  • 请求方法: POST
  • 请求参数:
参数名 类型 必填 说明
stem String 题干内容
options String/Object 选项内容 (JSON 字符串或对象)
answer String 答案
solution String 解析
  • 响应示例 (发现重复):

    {
    "code": -1,
    "result": {
    "repeatIdList": [
      {
        "questionsId": 12345,
        "repeatMsg": "相似度: 0.9256。相似点: 某某数学题干..."
      }
    ]
    }
    }
    
  • 响应示例 (经过 GPT-4o 兜底确认重复):

    {
    "code": -1,
    "result": {
    "repeatIdList": [
      {
        "questionsId": 12345,
        "repeatMsg": "相似度: 0.7582 (经 GPT-4o 深度核验)。相似点: 某某数学题干..."
      }
    ]
    }
    }
    
  • 响应示例 (无重复):

    {
    "code": 0,
    "result": "ok"
    }
    

2. 人工确认查重结果

录题系统完成录入并分配 ID 后,调用此接口通知查重系统该题的最终状态。查重系统会根据状态决定是否将该题加入向量检索库。

  • 接口地址: /api/confirm_repeat
  • 请求方法: POST
  • 请求参数:
参数名 类型 必填 说明
questionId Integer 数据库中的题目 ID
isRepeat Integer 0: 确认不重复(将入库); 1: 确认重复(不入库)
  • 响应示例:

    {
    "code": 0,
    "result": "ok"
    }
    

3. 手动触发全量同步

将数据库 questions_tem 表中的存量题目同步到向量库中。

  • 接口地址: /api/sync
  • 请求方法: POST

  • 响应示例:

    {
    "code": 0,
    "result": "Sync completed"
    }
    

状态码说明

  • code: 0: 操作成功或通过查重。
  • code: -1: 操作失败、参数错误或发现重复题目。