Skip to content

Repository files navigation

Insurance Claim Helpers

보험 약관 PDF를 분석해 사전에 청구 가능 여부를 판단하고 가입자 편에서 약관을 해석해주는 서비스


주요 기능

  • 보험 약관 PDF 업로드 및 분석
  • 치료 전/후 보험 청구 가능 여부 사전 확인
  • 약관 원문 근거 조항 제시
  • 대화형 챗봇으로 자유로운 질문
  • 비로그인으로도 사용 가능 / 로그인 시 분석 이력 저장

기술 스택

구분 기술
Backend Java 21, Spring Boot
Frontend React
AI (생성) Claude API (Anthropic)
AI (검색) OpenAI Embedding
Database PostgreSQL 16, pgVector

아키텍처

아키텍처 문서 보기

로컬 개발 환경 구성

사전 요구사항: JDK 21, Docker Desktop, OpenAI/Anthropic API Key

1. 인프라 실행

docker compose up -d

기본 실행은 앱 인프라(PostgreSQL, LocalStack)만 띄운다. AI 요청 관측(Langfuse)까지 필요하면 observability 프로파일을 함께 기동한다 — 트레이스를 볼 때만 필요하며, 컨테이너 6개가 추가된다.

docker compose --profile observability up -d

2. API 키 설정

IntelliJ: Run Configuration → Environment Variables

변수명
SPRING_AI_OPENAI_API_KEY OpenAI API Key
SPRING_AI_ANTHROPIC_API_KEY Anthropic API Key

CLI:

export SPRING_AI_OPENAI_API_KEY=sk-...
export SPRING_AI_ANTHROPIC_API_KEY=sk-ant-...

3. 앱 실행

DB 접속 정보는 application.yml 기본값이 docker-compose 설정과 일치하므로 별도 설정 불필요.

./gradlew bootRun

4. AI 요청 관측 (선택)

각 AI 요청의 프롬프트·검색된 근거·응답과 토큰·비용·지연을 Langfuse 대시보드에서 요청 단위로 조회한다.

  1. 관측 스택 기동 — 위 observability 프로파일로 6개 컨테이너를 띄운다.
  2. .env 설정 — Langfuse 초기화 값과 앱→Langfuse 전송용 OTLP 인증 헤더를 추가한다.
    • LANGFUSE_SALT / LANGFUSE_ENCRYPTION_KEY(64자리 hex) / LANGFUSE_NEXTAUTH_SECRET / LANGFUSE_REDIS_AUTH
    • LANGFUSE_INIT_* — 부팅 시 조직/프로젝트/로그인 계정/API 키를 자동 생성
    • OTEL_EXPORTER_OTLP_HEADERS=Authorization=Basic <base64(publicKey:secretKey)>LANGFUSE_INIT_PROJECT_PUBLIC_KEYLANGFUSE_INIT_PROJECT_SECRET_KEY:로 이어 base64 인코딩한 값
  3. 대시보드 접속http://localhost:3000 에서 LANGFUSE_INIT_USER_EMAIL / LANGFUSE_INIT_USER_PASSWORD로 로그인.
  4. 앱에 채팅 요청을 보내면 프로젝트의 Tracing 에 트레이스가 쌓이고, 각 generation 노드의 Input/Output 에서 프롬프트·근거·응답을, 상단에서 토큰·비용·지연을 확인한다.

통합 테스트 전제

S3 통합 테스트(S3FileStorageTest)는 Testcontainers 가 LocalStack 컨테이너를 직접 기동/종료한다. 별도로 인프라를 띄울 필요 없이 Docker 데몬만 실행 중이면 어디서든(CI 포함) 통과한다.

./gradlew test

About

보험 약관 PDF를 분석해 사전에 청구 가능 여부를 판단하고 가입자 편에서 약관 해석을 도와주는 서비스

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages