Stalking Case Similarity Finder
이 프로젝트는 사용자의 질문을 입력받아 벡터 DB(Qdrant)에 저장된 스토킹 관련 판례 중 유사한 사례를 검색 하고, 해당 판례를 기반으로 GPT가 법률적 판단을 생성하는 법률 상담형 RAG 시스템 입니다.
사용자의 질문 → 벡터 검색 → 판례 검색 → GPT 답변 생성의 흐름으로 동작합니다.
사용자 질문을 OpenAI Embedding API 를 통해 벡터화
Qdrant 벡터 DB 에서 유사한 판례 검색
검색된 판례를 기반으로 GPT가 법률적 판단 및 요약 생성
REST API 기반으로 질문 → 판례 검색 → 결과 반환 처리
기술
설명
Java 21
백엔드 개발 언어
Spring Boot
REST API 서버 구현
WebClient
OpenAI / Qdrant API 호출
OpenAI API
질문 및 판례 Embedding 생성
Qdrant
판례 벡터 저장 및 유사도 검색
GPT-3.5-turbo
유사 판례 기반 법률 답변 생성
User Question
│
▼
OpenAI Embedding API
│
▼
Vector Search (Qdrant)
│
▼
Similar Case Retrieval
│
▼
GPT Prompt 구성
│
▼
Legal Response Generation
기능
Method
URI
설명
회원가입
POST
/sign
신규 사용자 등록
로그인
POST
/login
사용자 로그인 (JWT 발급)
AI 판결 질의
GET
/chat?prompt=
사용자 질문 기반 AI 판결
유사 판례 검색
POST
/search/simple
질문과 유사한 판례 검색
지원 제도 조회
GET
/supports/{id}
특정 지원 제도 기본 정보
지원 제도 상세 조회
GET
/detail/{id}
특정 지원 제도 상세 정보
POST http://localhost:8080/sign
{
"email":"암호화 테스트",
"password":"이래 저장되면 안됨"
}
{
"id":6,
"message":"User signed successfully"
}
POST http://localhost:8080/login
{
"email":"암호화 테스트",
"password":"이래 저장되면 안됨"
}
{
"id":"1",
"token":"JWT_TOKEN"
}
로그인 성공 시 JWT 토큰 발급
로그인 및 회원가입을 제외한 모든 API 요청 시 Authorization 헤더에 토큰 포함 필요
Authorization: Bearer {JWT_TOKEN}
GET http://localhost:8080/chat?prompt=모르는 사람이 따라옴
{
"stalkingType":"물건 전달형 스토킹",
"isStalkingConvicted":true,
"physicalApproachOrContact":false,
"harassmentViaCommunicationOrItems":true,
"invasionOfPrivacyOrIdentity":false,
"persistenceOrRepetition":true
}
필드
설명
stalkingType
스토킹 유형
isStalkingConvicted
스토킹 성립 여부
physicalApproachOrContact
물리적 접근 여부
harassmentViaCommunicationOrItems
통신/물건 전달 괴롭힘
invasionOfPrivacyOrIdentity
개인정보 침해 여부
persistenceOrRepetition
지속적 반복 행위 여부
POST http://localhost:8080/search/simple
{
"question":"모르는 사람이 계속 쫓아와요"
}
[
{
"title":"대법원 2021",
"content":"2020도6085 전원합의체 판결...",
"similarity":"79.43%"
}
]
질문을 벡터화하여 Qdrant에서 유사 판례 검색
유사도 기준으로 판례 반환
결과는 리스트 형태로 반환
GET http://localhost:8080/supports/{id}
GET http://localhost:8080/supports/1
{
"category":"신변보호",
"programName":"임시숙소 지원",
"description":"범죄피해자에게 임시숙소 제공",
"contact":"182"
}
GET http://localhost:8080/detail/{id}
{
"programName":"(사)한국여성변호사회",
"description":"...",
"target":"...",
"content":"...",
"procedureInfo":"...",
"contact":"02-595-2097"
}
스토킹 피해자를 위한 법률 지원 프로그램 상세 정보 제공