o2o-plagiarism-ai/docs/INTEGRATION_INTERFACE.md

3.2 KiB

2단계 통합 인터페이스 명세 (오투오 ↔ 바이칼/컴북스)

계획서 마일스톤 2.4(요소 추출+표절 검출 고도화 통합), 3.x(침해요소 DB 공유), 5.x(공유서비스 고도화) 연동을 위한 API 계약. 데이터 수령 전 사전 확정용.

1. 오투오가 제공하는 API (현행)

Method Path 용도 비고
POST /v1/plagiarism/detect 단건 표절 탐지 군집 부분표절 신호 포함
POST /v1/plagiarism/batch 배치(≤500) 비동기 잡
POST /v1/summary 스토리 요약 신규(과제2 ②)
GET /v1/taxonomy 10태그·39케이스 컴북스/바이칼 라벨 공유
GET /v1/health 엔진 상태

2. detect 응답 — 2단계 신규 필드 partial_signal

군집화 기반 요소별 부분 표절 분해. 바이칼 침해요소 DB 에 '무엇을 바꿔치기했는지'를 구조화해 적재할 수 있도록 제공.

{
  "matches": [{
    "source_doc": "ref-0003",
    "similarity": 0.88,
    "tags": [{"tag": "reproduction", "role": "primary", "label_ko": "복제권"}],
    "case_id": "A1",
    "partial_signal": {
      "cluster_id": 2,
      "verdict": "element_swap_plagiarism",
      "signature_score": 0.74,
      "per_element": {"lemmas": 0.92, "keywords": 0.88, "characters": 0.0, "motifs": 0.1},
      "retained_elements": ["lemmas", "keywords"],
      "changed_elements": ["characters", "motifs"]
    }
  }]
}
  • verdict: near_duplicate | element_swap_plagiarism | weak | none
  • element_swap_plagiarism = 본문(lemma/키워드) 유지 + 인물/모티프만 교체한 표절.

3. 바이칼 침해요소 DB 연동 (계획서 3.x)

  • 오투오 detect 결과 → 바이칼 침해요소 케이스 DB 적재 매핑:
    • case_id, tags[], partial_signal.verdict, score_breakdown → DB 컬럼.
    • 분류체계 버전 동기화: GET /v1/taxonomycases_version/meta_tags_version.
  • 합의 필요: ① DB 스키마(필드/타입), ② 적재 방식(API push vs 배치 export), ③ 침해요소 식별자 체계(컴북스 콘텐츠>제품>아티클 식별코드와 매핑).

4. 공유서비스 / 저작권 자동 분석 경계

  • 저작권 침해 자동 분석 모듈(1차/2차 침해 자동 판단, 권한 기반 적용범위 계산)은 계획서상 바이칼 담당(p.22). 오투오는 표절 '유사도/태그/케이스' 신호까지 제공, 권한·계약 기반 침해 '확정' 판단은 바이칼 모듈로 위임.
  • 경계 인터페이스: 오투오 MatchResult → 바이칼 침해 판단 입력. 본 매핑 표를 통합 설계 회의에서 확정.

5. 인증/배포

  • 현재 API Key 인증(app/core/auth.py). 공유서비스 통합 시 OAuth2(계획서 p.18)와의 연동 방식 협의.
  • 상용 데이터 구간 암호화(AES256-CBC)·키 배포는 바이칼 공유서비스 아키텍처 기준 적용.

6. 통합 테스트 항목(연말 인수시험 역산)

  • taxonomy 버전 동기화 라운드트립
  • detect → 바이칼 DB 적재 E2E
  • partial_signal 필드 계약 테스트
  • summary 엔드포인트 통합
  • 배치 처리 성공률 95%(마일스톤 점검기준)