LawBotics v2: Next.js 기반의 지능형 법률 계약 분석 플랫폼
요약
LawBotics v2는 Next.js와 고급 머신러닝 모델을 결합한 지능형 법률 계약 분석 플랫폼입니다. CUAD 데이터셋으로 미세 조정된 LLaMA 모델과 LangChain을 활용하여, 사용자가 PDF 및 텍스트 형식의 계약에서 핵심 조항을 자동 식별하고 추출할 수 있게 합니다. 이는 법률 전문가의 업무 효율성을 높이는 것을 목표로 합니다.
핵심 포인트
- Next.js 기반의 반응형 웹 인터페이스 제공
- LLaMA 모델과 CUAD 데이터셋 활용한 전문 분석 기능 구현
- LangChain 및 Google GenAI 통합으로 고급 AI 오케스트레이션 지원
- PDF/텍스트 다중 형식 처리와 실시간 계약 검토 가능
LawBotics v2
Next.js와 고급 머신러닝 모델로 구축된 정교한 AI 기반 법률 계약 분석 플랫폼입니다. 이 플랫폼은 Contract Understanding Atticus Dataset (CUAD)를 활용하여 지능적인 계약 검토 및 조항 추출 기능을 제공합니다.
📋 목차
🎯 개요
LawBotics v2는 인공지능과 법률 전문 지식을 결합하여 계약 검토 프로세스를 간소화하는 고급 법률 기술 플랫폼입니다. 이 플랫폼은 CUAD 데이터셋으로 미세 조정된 언어 모델을 활용하여 핵심 계약 조항을 식별하고 추출함으로써, 법률 전문가들이 계약 분석에서 시간을 절약하고 오류를 줄이는 데 도움을 줍니다.
✨ 기능
핵심 기능
- AI 기반 계약 분석: 법률 계약으로부터의 자동화된 조항 식별 및 추출
- 다중 형식 지원: PDF 및 텍스트 형식의 계약 처리
- 실시간 분석: 즉각적인 결과를 제공하는 실시간 계약 검토
- 조항 분류: 41개 이상의 다양한 유형의 법률 조항 식별
- 대화형 UI: Next.js 15로 구축된 현대적이고 반응성이 뛰어난 웹 인터페이스
AI 및 머신러닝
- 미세 조정된 LLaMA 모델: 법률 계약 데이터에 맞게 사용자 정의 학습된 모델
- CUAD 데이터셋 통합: 13,000개 이상의 레이블링된 계약 예시 활용
- LangChain 통합: 고급 AI 오케스트레이션 및 처리
- Google GenAI 지원: Google의 생성형 AI 모델과의 통합
사용자 경험
- 인증 (Authentication): Clerk를 사용한 안전한 사용자 관리
- 다크/라이트 모드 (Dark/Light Mode): 맞춤형 테마 지원
- 반응형 디자인 (Responsive Design): 데스크톱 및 모바일 장치에 최적화
- 실시간 알림 (Real-time Notifications): 토스트 알림 및 진행 상황 추적 기능
- PDF 뷰어 (PDF Viewer): 내장 PDF 문서 뷰어 및 처리기
🏗️ 아키텍처 (Architecture)
┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐
│ 웹 프론트엔드 │ │ AI 처리 │ │ 데이터 저장소 │
│ (Next.js 15) │◄──►│ (Python/ML) │◄──►│ (Convex DB) │
...
🚀 설치 (Installation)
전제 조건 (Prerequisites)
- Node.js (v18 이상)
- Python (v3.8 이상)
- Git
- npm 또는 yarn
빠른 시작 (Quick Start)
-
저장소 클론 (Clone the repository)
git clone https://github.com/hasnaintypes/lawbotics-v2.git
cd lawbotics-v2
2. **의존성 설치 (Install dependencies)**
```bash
# 웹 UI 의존성 설치
cd apps/web-ui
npm install
...
-
환경 변수 설정 (Set up environment variables)
환경 템플릿 복사
cp apps/web-ui/.env.example apps/web-ui/.env.local
4. **환경 변수 구성 (Configure environment variables)**
`apps/web-ui/.env.local`을 열어 키를 수정하세요:
```env
# Clerk 인증
NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY=your_clerk_publishable_key
CLERK_SECRET_KEY=your_clerk_secret_key
...
-
개발 서버 시작 (Start the development server)
cd apps/web-ui
npm run dev
6. **애플리케이션 접속 (Access the application)**
브라우저에서 [http://localhost:3000](http://localhost:3000)을 여세요.
## 🎮 사용법 (Usage)
### 웹 인터페이스 (Web Interface)
1. **가입/로그인 (Sign Up/Login)**: Clerk 인증 시스템을 사용하여 계정을 생성하거나 로그인합니다.
2. **계약서 업로드 (Upload Contract)**: 법률 계약이 포함된 PDF 또는 텍스트 파일을 업로드합니다.
3. **AI 분석 (AI Analysis)**: 시스템이 자동으로 계약서를 처리하고 주요 조항을 식별합니다.
4. **결과 검토 (Review Results)**: 추출된 조항과 그 분류를 확인합니다.
5. **내보내기/저장 (Export/Save)**: 결과를 저장하거나 분석 보고서를 내보냅니다.
### 계약 분석 기능 (Contract Analysis Features)
- **조항 감지 (Clause Detection)**: 41가지 이상의 유형의 법률 조항을 자동으로 식별합니다.
- **위험 평가 (Risk Assessment)**: 잠재적으로 문제가 될 수 있는 조항을 강조 표시합니다.
- **비교 (Comparison)**: 여러 계약서를 나란히 비교할 수 있습니다.
- **검색 (Search)**: 계약서 및 추출된 조항 내에서 전체 텍스트 검색이 가능합니다.
## 🧠 AI 모델 학습
본 프로젝트는 CUAD 데이터셋을 사용하여 포괄적인 AI 모델 학습 기능을 포함하고 있습니다.
### 데이터셋 정보
- **CUAD v1**: 510개 상업 계약서에 걸친 13,000개 이상의 레이블링된 예시
- **41개 조항 카테고리 (Clause Categories)**: 법률 계약 요소에 대한 포괄적인 커버리지
- **다중 형식 (Multiple Formats)**: CSV, JSON, Excel, PDF 및 TXT 형식이 사용 가능합니다.
### 학습 과정
1. **AI 모델 디렉토리로 이동**
```bash
cd ai-model
-
Jupyter Notebook 열기
jupyter notebook Fine_tuning_code.ipynb -
학습 단계 따르기:
- 데이터 준비 및 전처리 (Data preparation and preprocessing)
- LLaMA 아키텍처를 사용한 모델 미세 조정 (Model fine-tuning with LLaMA architecture)
- 평가 및 검증 (Evaluation and validation)
- 모델 내보내기 및 배포 (Model export and deployment)
지원되는 모델
-
LLaMA 3.2: 명령어 튜닝(instruction tuning)을 위한 주요 모델
-
Google GenAI: 추가 AI 기능을 위한 통합
-
맞춤 미세 조정 모델 (Custom Fine-tuned Models): 전문 법률 계약 모델
-
LangChain: AI 애플리케이션 프레임워크
-
Google Generative AI: AI 모델 통합
-
Python: 모델 학습 및 처리
-
Jupyter: 대화형 개발 환경
상태 관리 및 유틸리티 (State Management & Utils)
- Zustand: 경량 상태 관리 라이브러리
- React PDF: PDF 처리 및 보기 기능
- Recharts: 데이터 시각화
- Sonner: 토스트 알림
👩💻 개발 (Development)
사용 가능한 스크립트 (Available Scripts)
# 개발 서버 실행
npm run dev
...
코드 스타일 (Code Style)
- ESLint: Next.js 설정을 이용한 코드 린팅(linting)
- TypeScript: 엄격한 타입 검사 활성화
- Prettier: 코드 포맷팅 (권장)
개발 가이드라인 (Development Guidelines)
- 컴포넌트 구조 (Component Structure): TypeScript를 사용한 함수형 컴포넌트 활용
- 상태 관리 (State Management): 전역 상태 관리를 위해 Zustand 이용
- 스타일링 (Styling): 컴포넌트 변형(component variants)과 함께 Tailwind CSS 클래스 구현
- API 통합 (API Integration): 외부 API 호출을 위해 services 디렉토리 사용
- 오류 처리 (Error Handling): 포괄적인 오류 경계(error boundaries) 구현
📚 API 문서화 (API Documentation)
인증 엔드포인트 (Authentication Endpoints)
POST /api/auth/signin- 사용자 로그인POST /api/auth/signup- 사용자 회원가입POST /api/auth/signout- 사용자 로그아웃
계약 분석 엔드포인트 (Contract Analysis Endpoints)
POST /api/contracts/upload- 분석을 위한 계약서 업로드GET /api/contracts/:id- 계약 분석 결과 조회POST /api/contracts/analyze- AI 분석 수행GET /api/contracts/history- 사용자 계약 이력 조회
AI 모델 엔드포인트 (AI Model Endpoints)
POST /api/ai/extract-clauses- 계약서에서 조항 추출POST /api/ai/classify- 계약 조항 분류GET /api/ai/models- 사용 가능한 AI 모델 목록
🤝 기여 (Contributing)
LawBotics v2에 대한 기여를 환영합니다! 다음 가이드라인을 따라주세요:
시작하기 (Getting Started)
- 레포지토리를 포크(Fork)하세요
- 기능 브랜치를 생성하세요:
git checkout -b feature/your-feature-name - 변경 사항을 적용하고 테스트를 추가하세요
- 변경 사항을 커밋하세요:
git commit -m 'Add some feature' - 브랜치에 푸시하세요:
git push origin feature/your-feature-name - 풀 리퀘스트(Pull Request)를 제출하세요
기여 가이드라인 (Contribution Guidelines)
- 기존 코드 스타일 및 컨벤션을 따르세요
- 새로운 기능에 대한 테스트를 추가하세요
- 필요에 따라 문서를 업데이트하세요
- PR을 제출하기 전에 모든 테스트가 통과하는지 확인하세요
- 명확한 커밋 메시지와 PR 설명을 제공하세요
이슈 및 버그 보고 (Issues and Bug Reports)
버그를 보고하거나 기능을 요청할 때는 GitHub 이슈 트래커(issue tracker)를 사용해 주세요. 다음 내용을 포함해야 합니다:
- 문제에 대한 상세 설명
- 재현 단계 (Steps to reproduce)
- 예상 동작 vs 실제 동작 (Expected vs actual behavior)
- 스크린샷 (적용 가능한 경우)
- 환경 세부 정보 (Environment details)
📄 라이선스 (License)
본 프로젝트는 MIT License에 따라 라이선스가 부여되었습니다. 자세한 내용은 LICENSE 파일을 참고하세요.
🙏 감사의 말씀 (Acknowledgments)
- The Atticus Project: CUAD 데이터셋을 제공해 주셔서
- Next.js Team: 훌륭한 React 프레임워크를 제공해 주셔서
- Clerk: 원활한 인증 솔루션을 제공해 주셔서
- Radix UI: 접근성 높은 컴포넌트 프리미티브를 제공해 주셔서
- Tailwind CSS: 유틸리티 우선(utility-first) CSS 프레임워크를 제공해 주셔서
📞 지원 (Support)
지원 및 문의 사항은 다음을 이용하세요:
- 📧 이메일: [email protected]
- 💬 디스코드: LawBotics Community
- 📖 문서: docs.lawbotics.com
- 🐛 이슈: GitHub Issues
LawBotics 팀이 ❤️로 만들었습니다
AI 기반 계약 분석으로 법률 전문가에게 힘을 실어드립니다 (Empowering legal professionals with AI-driven contract analysis)
AI 자동 생성 콘텐츠
본 콘텐츠는 개발 자료 GitHub · ec1fbd44의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기