3.2 KiB
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|noneelement_swap_plagiarism= 본문(lemma/키워드) 유지 + 인물/모티프만 교체한 표절.
3. 바이칼 침해요소 DB 연동 (계획서 3.x)
- 오투오 detect 결과 → 바이칼 침해요소 케이스 DB 적재 매핑:
case_id,tags[],partial_signal.verdict,score_breakdown→ DB 컬럼.- 분류체계 버전 동기화:
GET /v1/taxonomy의cases_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%(마일스톤 점검기준)