Skip to content

yejinkyo/Legal-Rag-Agent

Repository files navigation

Legal RAG Agent

RAG 기반의 법률 관련 객관식 문제의 정답을 추론하는 AI 에이전트입니다.

1. Agent System 구조

rag.py 에서는 사용자의 질문을 분석하고, Vector DB에서 유사한 문제를 검색하여, LLM이 이를 바탕으로 정답을 추론합니다.

시스템 파이프라인

  1. 쿼리 전처리: 사용자가 입력한 문제(질문과 선지)를 임베딩 벡터로 변환합니다.
  2. 검색 (Chroma DB): Vector DB에서 가장 유사한 문제를 검색합니다. (Top-8)
  3. 증강: 검색된 문제와 정답 쌍을 프롬프트에 전달합니다.
  4. 생성 (GPT-4o-mini): LLM이 문맥을 분석하여 정답을 추론합니다.

기술 스택

  • Language: Python 3.13
  • Server Framework: FastAPI
  • LLM: OpenAI GPT-4o-mini
  • Vector DB: ChromaDB
  • Deployment: Docker

2. 초기 Agent System 구축 방법

서버가 시작될 때 자동으로 데이터를 확인하고 적재합니다.

사전 준비

실행 전 프로젝트 루트 경로 .env 파일에 API key를 설정해야 합니다.

3. Inference 서버 실행 방법

터미널에서 아래의 명령어로 서버를 실행해주세요.

docker compose up --build
  • 서버 주소: http://localhost:8000
  • 실행이 완료되면 Application startup complete. 메시지가 뜹니다.

4. 테스트

API 테스트

  1. http://localhost:8000/docs 에 접속해주세요.
  2. POST /request 의 body에 아래와 같은 형식으로 입력해주세요.
    {
      "query": "각국 민간경비의 역사적 발전과정에 관한 설명으로 옳지 않은 것은? \nA. 영국에서 민간경비가 크게 성장한 시기는 산업혁명시대이다. \nB. 미국에서 민간경비가 획기적으로 발전한 시기는 서부개척시대이다. \nC. 일본은 1964년 동경올림픽을 계기로 민간경비가 크게 성장하였다. \nD. 영국의 King's Peace 시기에는 범죄를 국왕의 평화에 대한 도전이 아니라 개인에 대한 위법으로 보았다."
    }

평가 스크립트 실행

dev.csv 데이터셋의 정확도를 측정합니다.

uv run evaluate.py

5. 성능 평가 결과

  • 정확도: 0.5598
  • evaluation.py 실행 결과입니다.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors