Commit Graph

11 Commits (main)

Author SHA1 Message Date
hbyang e522fae7eb Merge: 2단계 고도화 선행 작업 (군집화·요약·평가환경·데이터 스펙) 2026-06-18 13:16:52 +09:00
hbyang 0472ae1f8a 2단계 고도화 선행 작업: 군집화·요약·평가환경·데이터 스펙 (데이터 수령 전)
컴북스 데이터 수령 전 가능한 작업을 선행 구현. 데이터 도착 즉시
학습·검증에 착수할 수 있도록 알고리즘·평가 하니스·문서를 준비.

알고리즘/파이프라인:
- engine/clustering.py: 군집화 기반 부분 표절(요소 교체) 판별,
  detect 응답에 partial_signal 필드 노출 (계획서 2단계 표절검출 고도화)
- engine/summarizer.py + POST /v1/summary: TextRank 추출적 요약 +
  통합(LLM) 골격 (과제2 ② 스토리 요약/분석)
- engine/preference.py + scripts/build_preference_dataset.py:
  Human Feedback 선호학습(DPO) 데이터 파이프라인 골격

평가 하니스 (정답셋 도착 즉시 측정):
- engine/rouge.py + scripts/eval_rouge.py: 요약 ROUGE (지표 No.7)
- engine/metadata_eval.py + scripts/eval_metadata_f1.py: 메타 추출 F1
  (지표 No.3, KLUE NER 호환)
- engine/case_coverage.py + scripts/analyze_case_coverage.py:
  39 케이스 갭 분석 → 컴북스 데이터 요청 목록 (정밀도 97% 근거)

문서:
- docs/DATA_REQUEST_SPEC.md: 요청 데이터 스펙 + 요약 정답셋/HF 라벨 가이드
- docs/INTEGRATION_INTERFACE.md: 2단계 통합 인터페이스
- docs/SW_COPYRIGHT_REGISTRATION.md: SW 저작권 등록 준비
- docs/PHASE2_PROGRESS.md, docs/CASE_COVERAGE.md

테스트 31 → 67건 전부 통과.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 13:16:07 +09:00
hbyang cfa3d1b7cf 성능지표 및 레포트 업로드 . 2026-05-18 14:54:01 +09:00
hbyang b8370f5c1a sub-path 배포 지원 (root_path) + HTML 상대경로화
Apache 리버스 프록시로 /plagiarism 같은 sub-path에 배포 가능하도록:
- config.Settings.root_path 추가 (.env의 ROOT_PATH)
- FastAPI app(root_path=...) + uvicorn run(root_path=..., proxy_headers=True, forwarded_allow_ips="*")
- index.html의 모든 절대경로(/v1/..., /docs, /openapi.json)를 상대경로로 변경
- .env / .env.example 에 ROOT_PATH 추가

URL 직접 노출(localhost:8000)이든 sub-path(/plagiarism)든 모두 동작.
2026-05-14 09:59:38 +09:00
hbyang 66dea0cc52 docker-compose: version 3.3 (구형 docker-compose 호환) 2026-05-14 09:28:05 +09:00
hbyang c40af90c48 docker-compose: version 3.8 명시 (구버전 v1 호환) 2026-05-14 09:27:17 +09:00
hbyang 3bb304b144 docker-compose: \${VAR:-default} 폴백 구문 제거 (v1 호환)
docker-compose v1.x가 \${VAR:-default} interpolation을 지원하지 않아
"Invalid interpolation format" 에러 발생. v1/v2 모두 호환되도록 폴백 제거.
.env 의 PORT/HOST 등은 env_file 로 자동 주입.
2026-05-14 09:25:46 +09:00
hbyang 4913bf3ecc API Key 인증 완전 제거
사내 운영 전제로 X-API-Key 인증을 전면 제거.
- app/core/auth.py 삭제
- routes.py에서 Depends(require_api_key) 모두 제거
- config.Settings에서 api_keys / api_key_set 제거
- .env / .env.example에서 API_KEYS 제거
- docker-compose.yml에서 API_KEYS 환경변수 제거 (KOSIMCSE_MODEL 추가)
- UI(index.html)에서 DEFAULT_API_KEY 상수 + X-API-Key 헤더 모두 제거
- scripts/sample_curl.sh, sample_python.py에서 키 헤더 제거
- tests: test_detect_requires_api_key → test_detect_no_auth_required로 갱신
- README: 인증 컬럼 제거, curl 예시에서 헤더 제거
2026-05-14 08:58:28 +09:00
hbyang f31ef142e8 .env에서 서버 바인딩(HOST/PORT/LOG_LEVEL/RELOAD) 받아오기
- config.Settings에 host/port/log_level/reload 필드 추가
- app/main.py에 main() + __main__ 진입점 추가 (python -m app.main)
- Dockerfile: python:3.13-slim 베이스로, CMD를 python -m app.main 으로 변경
- docker-compose: env_file 사용, ports를 ${PORT} 변수화
- 환경변수 PORT=N 으로 override 가능 (uvicorn 직접 실행도 그대로 지원)
2026-05-14 08:49:56 +09:00
hbyang bc40ace2fd UI: API Key 입력란 제거, 내부 상수로 자동 첨부
검토 콘솔(탐지 검토 + 코퍼스 관리 탭)에서 사용자가 매번 API Key를
입력하던 부분을 제거. DEFAULT_API_KEY 상수로 자동 첨부.
2026-05-13 11:42:10 +09:00
hbyang 3b69bdf0f0 Initial commit: O2O 저작권 침해 여부 탐지 API
PDF v1.2 요구사항 반영 완료:
- 10종 법령 메타 태그 + 39개 케이스 분류체계
- 3단 캐스케이딩: MinHash+LSH → 삼중 유사도 → 분류
- 자서전 특화: 공통 표현 사전 제거 + NER 마스킹
- KoSimCSE 한국어 임베딩 (자체 산출물 방어)
- 보수적 임계값 0.85
- 검토 콘솔 UI (탐지 + 코퍼스 관리 탭)
- Docker 배포 패키지 + 31개 테스트 통과
2026-05-13 11:20:17 +09:00