# 서버 바인딩 (uvicorn) - python -m app.main 실행 시 사용됨 HOST=0.0.0.0 PORT=8000 LOG_LEVEL=info RELOAD=false # 리버스 프록시 sub-path 배포 시. 예: /plagiarism (Apache가 /plagiarism → 컨테이너 매핑할 때) ROOT_PATH= # 설정하면 /v1/health를 제외한 API 요청에 X-API-Key가 필요합니다. API_KEY= # 운영 fail-closed. true인데 API_KEY가 비면 앱이 기동에 실패합니다. # ⚠️ King 실제 활성화는 바이칼 측 키 전달 후 진행 (docs/AI_DETECTION.md 참조). REQUIRE_API_KEY=false # 인증 없이 열어둘 경로 제어 PUBLIC_HEALTH=true PUBLIC_DOCS=true ENGINE_VERSION=o2o-plagiarism-2.1.0-kosimcse REFERENCE_CORPUS_DIR=./data/reference TAXONOMY_DIR=./data/taxonomy AUTOBIOGRAPHY_PATTERNS_PATH=./data/autobiography/common_patterns.txt # 3.5만 에피소드용 SQLite provenance + 증분 영속 인덱스. # 서버에서 ingest/build 완료 후 true로 전환합니다. USE_PERSISTENT_INDEX=false CORPUS_DB_PATH=./data/runtime/corpus.sqlite3 PERSISTENT_INDEX_DIR=./data/runtime/index PERSISTENT_SIMILARITY_THRESHOLD=0.65 PERSISTENT_MIN_EXACT_SPAN=80 PERSISTENT_MIN_COVERAGE=0.30 PERSISTENT_RERANK_TOP_K=20 PRECEDENTS_PATH=./data/precedents/precedents.jsonl AI_DETECTOR_MODEL_PATH=./data/models/ai_detector.joblib # 학습 모델이 없을 때 규칙 기반 점수를 낼지. true 면 is_stub=true 로 노출된다. AI_DETECTOR_ALLOW_HEURISTIC=false # 휴리스틱 컷. scripts/calibrate_ai_detector_cuts.py 출력값을 넣는다. # 비워두면 근거 없는 자리표시자(0.40/0.70)가 쓰이므로 배지가 무의미해진다. # 값이 없으면 아래 두 줄은 주석 처리한 채로 둘 것 (빈 값은 파싱 오류). #AI_DETECTOR_LOW_CUT= #AI_DETECTOR_HIGH_CUT= AI_DETECTOR_USE_POS=true # PDF VII-4 권장 보수적 임계값 (정밀도 우선) SIMILARITY_THRESHOLD=0.85 # KoSimCSE / KoSBERT (PDF VII-3 권장 - 한국어 오픈소스 임베딩, 자체 산출물) # CPU 기본 이미지는 torch를 포함하지 않습니다. 레거시 KoSimCSE를 별도 설치한 경우만 true. USE_KOSIMCSE=false KOSIMCSE_MODEL=BM-K/KoSimCSE-roberta-multitask KOSIMCSE_MAX_LENGTH=512 # OpenAI 연동 (옵션). KoSimCSE 있으면 임베딩은 비활성 권장. OPENAI_API_KEY= OPENAI_EXTRACTION_MODEL=gpt-4o-mini OPENAI_EMBEDDING_MODEL=text-embedding-3-small USE_LLM_EXTRACTOR=false USE_EMBEDDING_SIMILARITY=false # 삼중 유사도 가중치 (합이 1.0) WEIGHT_TEXT_SIM=0.30 WEIGHT_LEMMA_SIM=0.45 WEIGHT_CHAR_SIM=0.15 WEIGHT_MOTIF_SIM=0.10 # PDF VII-3 3단 캐스케이딩 - MinHash + LSH 1차 필터 USE_LSH_FILTER=true LSH_THRESHOLD=0.3 LSH_TOP_K=50 # PDF VII-4 자서전 특화 모드 (공통 표현 제거 + NER 마스킹) AUTOBIOGRAPHY_MODE=true ENABLE_ENTITY_MASKING=true