본문으로 이동
Kim Jongwon
← 전체 프로젝트

GCP, RAG | 2인 팀 | 사후 대응 기능 담당 | 2026.04 - 2026.05

LawMainRoad

근거 법령과 함께 답하고 문서 초안까지 만드는 노동법 AI 서비스

2인 팀에서 노동 분쟁 사후 대응 기능과 법령 데이터 전처리를 맡아, 근거를 보여 주는 답변부터 문서 초안, GCP 배포까지 연결했습니다.

검색 데이터

1,722

전처리한 법령 조각

자체 평가

실패 0

60문항, 충족 44 / 부분 충족 16

GCP 이전

6단계

Terraform 루트를 나눠 dev에 차례로 적용

LawMainRoad 서비스 첫 화면과 계약서 검토 workflow 미리보기
LawMainRoad 서비스 첫 화면

설계 배경

근거 없는 답변을 막은 이유

법률 안내에서는 그럴듯한 답변보다 근거가 중요합니다. 검색한 법령 근거가 없으면 답하지 않고, 답변과 함께 출처를 보여 주는 구조가 필요했습니다.

직접 한 일

  • 2인 팀에서 노동 분쟁 사후 대응(After) 기능과 법령 데이터 전처리를 맡았습니다. 팀원은 계약 전 위험을 다루는 Before 기능을 맡았습니다.
  • 법령 검색, 근거, 출처 검증, 문서 초안 API와 화면, 복사와 인쇄 등 사용 흐름 점검을 구현했습니다.
  • Terraform으로 Cloud Run, Cloud SQL, GCS, IAM을 구성하고, 키 없이 배포하는 GitHub Actions(WIF)와 롤백, 알림 기준을 정리했습니다.

결과

  • 법령 1,722개 조각을 검색해 근거와 함께 답하는 RAG 구현
  • 60문항 자체 평가에서 실패 0건 (충족 44, 부분 충족 16)
  • Terraform 기반 GCP 배포와 키 없는 CI/CD

서비스 흐름

검색에서 문서 초안까지

질문이 들어오면 법령을 찾아 근거와 함께 답하고, 그 결과로 문서 초안을 만드는 흐름입니다.

  • 법령을 1,722개 조각으로 나눠 PostgreSQL(pgvector)에 저장하고, 질문과 가까운 조각을 찾아 근거와 함께 답하는 RAG 흐름을 만들었습니다.
  • 검색 근거가 없는 답변은 내보내지 않도록 막고, 답변마다 출처 법령을 표시했습니다.
  • Next.js 화면과 FastAPI 백엔드에서 법률 상담, 계약서 검토, 문서 초안, 사건 기록 흐름을 나눴습니다.
  • 로그인 토큰은 서버에서 검증하고, 상담 원문은 브라우저 저장소에 남기지 않도록 개인정보 경계를 정했습니다.
  • GCP 이전은 기반(상태 버킷, 서비스 계정, 이미지 저장소), 데이터(Cloud SQL, pgvector), 백엔드, 프런트엔드(Cloud Run), 배포(GitHub Actions, WIF, 롤백), 관측(5xx와 오류 로그 알림) 6단계로 나눴습니다. 단계마다 Terraform 루트를 따로 두고 dev 환경에 차례로 적용하며 확인했습니다(2026-05-06 ~ 05-08).
  • GitHub Actions는 키 파일 없이 WIF로 인증하고, 이 저장소의 dev 배포와 롤백 워크플로만 인증을 받도록 조건을 걸었습니다.
pgvectorVertex AI GeminiFastAPI / Next.jsTerraform / Cloud RunWIF CI/CD

실제 화면

서비스 화면과 GCP 구조

근거와 함께 보여 주는 상담 답변, 그 결과로 만든 문서 초안, GCP 이전 아키텍처입니다.

LawMainRoad AI 법률 상담 결과 화면
근거 법령과 함께 보여 주는 상담 결과 원본 보기
LawMainRoad 상담 결과 기반 문서 초안 화면
상담 결과로 만든 문서 초안 (윗부분) 원본 보기
GitHub Actions, WIF, Cloud Run, Vertex AI, Cloud SQL로 구성된 LawMainRoad GCP 이전 아키텍처
GCP 이전 아키텍처 원본 보기