Skip to content

Latest commit

 

History

History
167 lines (111 loc) · 6.1 KB

File metadata and controls

167 lines (111 loc) · 6.1 KB

lawChatBot

프로젝트 소개

  • lawChatBot은 LLM(Large Language Model)을 기반으로 한 지능형 법률 상담 서비스입니다.
  • 사용자의 법률 질문에 대해 실시간 AI 상담을 제공하고, AI가 자동으로 법률 보고서를 생성하며, 변호사와의 매칭 기능까지 지원합니다.
  • Streamlit 기반 UI와 LangChain 기반 RAG 구조를 통해 법률 문서 검색, 사례 기반 질의응답, 사용자 인터랙션 기능을 하나의 서비스에 통합했습니다.


프로젝트 배경

  • 개발 기간 : 2025.03.15 ~ 2025.04.15

  • 진행 배경 및 목적 :

    본 프로젝트는 SK C&C가 주관하는 SKALA 1기 교육 과정의 일환으로, 팀 단위 실습을 통해 기획하고 개발한 결과물입니다.
    SKALA 교육 기간 중 수행한 팀 프로젝트를 보다 발전시키기 위해, 짧은 시간 내에 핵심 기능 구현에 집중하는 프로젝트입니다.

  • 주요 목표

    • LLM(대규모 언어 모델)을 활용한 지능형 서비스 구현
    • API 서버와 Streamlit 기반 프론트엔드 간의 연동
    • 데이터베이스를 활용한 방명록 기능 구현

팀원 구성

김다은 김민주 손지영 이재웅 이효정 진실
@ilikewhale @alswnsp411 @zi0-hand @ww5702 @world-dv @zinsile
방명록 AI 법률 보고서 AI 법률 보고서 실시간 AI 법률 상담 방명록 실시간 AI 법률 상담

System Architecture


기술스택

Language & Frameworks

  • Python 3.12
  • OpenAI API
  • LangChain 0.1.16
  • Streamlit 1.43.2
  • ChromaDB >= 0.5.2
  • Tavily API >= 0.3.0

Backend Architecture

  • SQLite3
  • LangChain 기반 RAG (Retrieval-Augmented Generation)
  • LangChain Agent 구조
  • Streamlit SessionState 활용

웹 크롤링 및 문서 전처리

  • BeautifulSoup4 == 4.13.3
  • DuckDB == 1.2.2

배포 환경

  • Streamlit Cloud

협업 및 버전 관리

  • GitHub

주요 기능

메인 홈페이지

  • 홈 화면 구성: 사용자가 처음 접속했을 때 서비스의 핵심 기능과 변호사 정보를 직관적으로 확인할 수 있도록 구성하였습니다.
  • 서비스 페이지 연결: 홈 화면에서 버튼을 통해 AI 법률 상담, AI 법률 보고서 생성, 방명록 작성 등 각 서비스 상세 페이지로 연동됩니다.
  • 팀 소개 및 서비스 소개 페이지 진입: 사이드바와 홈 화면 링크를 통해 프로젝트 참여 팀원 소개 및 서비스 기능 설명 페이지로 접근할 수 있습니다.

  • 다크모드 지원: 다크모드를 지원하여 사용자 환경에 맞춘 두 가지 UI 테마를 제공합니다.

실시간 AI 법률 상담

  • 대화형 AI 상담: 사용자의 법률 질문에 대해 실시간으로 답변합니다.
  • 법률 정보 검색: 관련 법률 조항과 판례를 검색하여 정확한 정보를 제공합니다.
  • 사례 분석: 유사한 법률 사례와 예상 결과를 제공합니다.

AI 법률 보고서 + 변호사 매칭

  • 사건 정보 수집: 사용자가 선택한 법률 카테고리에 따라 단계별 질문을 제공하고, 사건 정보를 구체화합니다.
  • 추가 질문 생성: LLM이 사건 해결에 필요한 추가 정보를 판단하고 자동으로 후속 질문을 생성합니다.
  • 법률 보고서 생성: 수집된 정보를 기반으로 AI가 법률 보고서를 생성하고, 텍스트 파일로 제공합니다.
  • 변호사 매칭: 프론트엔드에 등록된 변호사 목록에서 사용자가 직접 선택하여 매칭할 수 있는 인터페이스를 제공합니다.

방명록

  • 방명록 작성: 사용자가 자유롭게 메시지를 남길 수 있는 방명록 작성 기능을 제공합니다.
  • 방명록 좋아요: 사용자가 게시된 방명록 글에 ‘좋아요’를 눌러 공감과 응원의 뜻을 표현할 수 있습니다.
  • 방명록 수정/삭제: 비밀번호 인증을 통해 사용자가 본인의 방명록 글을 수정하거나 삭제할 수 있습니다.

서비스 통계

  • 누적 상담 건수: 사용자의 누적 상담 건수를 제공합니다.
  • 누적 보고서 생성 수: 사용자가 생성한 누적 보고서 수를 제공합니다.
  • 총 누적 사용 수: 서비스 누적 사용자 수를 제공합니다.

Getting Started

Installation

npm install streamlit
npm install sqlite3
npm install

Run

streamlit run main.py