2.6 KiB
2.6 KiB
GPT 판례 판단 연동
동작 구조
POST /v1/plagiarism/detect는 다음 순서로 법적 검토 보조 신호를 만든다.
- 등록 코퍼스에서 유사 문서와 증거 구간을 찾는다.
LegalRiskEngine이 저작물 유형과 법적 태그로 등록 판례 Top 5를 고른다.- GPT Judge가 탐지 증거와 Top 5 판례만 비교한다.
- 서버가 Structured Outputs 스키마, 판례 ID,
review_required=true를 검증한다. - 호출 실패·형식 오류·미등록 판례 ID가 있으면 규칙 기반 결과로 복귀한다.
GPT는 전체 판례 545건을 한 번에 받지 않으며 법률상 침해를 확정하지 않는다.
설정
기본값은 비활성이다. 원고의 증거 구간이 외부 API로 전송되는 것을 승인한 환경에서만 다음 값을 설정한다.
OPENAI_API_KEY=...
USE_LLM_LEGAL_JUDGE=true
OPENAI_JUDGE_MODEL=gpt-4o-mini
LLM_JUDGE_TIMEOUT_SECONDS=20
LLM_JUDGE_MAX_EVIDENCE_CHARS=4000
OpenAI 응답 저장은 store=false로 요청한다. 전송되는 원고 인용문의 총 길이는
LLM_JUDGE_MAX_EVIDENCE_CHARS로 제한된다. API 키가 없으면 판례 Judge는 활성화되지 않는다.
응답 필드
{
"legal_risk": {
"status": "review_required",
"judgment_method": "llm",
"llm_verdict": "likely",
"llm_confidence": 0.82,
"llm_review_required": true,
"precedent_ids": ["2012다73493"],
"llm_matched_precedent_ids": ["2012다73493"],
"supporting_reasons": ["..."],
"counter_reasons": ["..."],
"missing_factors": ["..."],
"judge_model": "gpt-4o-mini",
"judge_prompt_version": "legal-judge-v1"
}
}
judgment_method=llm: GPT 판단과 서버 검증이 완료됨judgment_method=rule_based: 기능이 비활성 또는 판단할 매칭·판례가 없음judgment_method=rule_fallback: GPT 호출 또는 검증 실패로 규칙 결과 사용precedent_ids: 규칙 엔진이 검색한 판례 Top 5llm_matched_precedent_ids: GPT가 실제 근거로 선택한 판례. Top 5 밖의 ID는 거부됨llm_verdict:likely,unlikely,insufficient_evidence중 하나
llm_confidence는 GPT 응답의 자기평가 값이며 법적 침해 확률이나 통계적으로 보정된
확률이 아니다. 운영 감사 시에는 모델명, 프롬프트 버전, 입력 판례 ID와 결과를 함께
보관해야 한다.
검증
python3 -m pytest tests/test_legal_risk.py -q
실제 OpenAI 호출은 테스트에서 수행하지 않는다. 운영 전 별도 검증 세트에서 모델별
일치율, insufficient_evidence 비율, 사람 검토자와의 불일치를 측정한다.