Skip to content

Latest commit

 

History

History
152 lines (122 loc) · 4.86 KB

File metadata and controls

152 lines (122 loc) · 4.86 KB

ParseNoteLM MVP 개발 태스크 분해

프로젝트 개요

  • 목표: AI 기반 문서 분석 및 질의응답 서비스 MVP
  • 기간: 6주 (2025-05-28 ~ 2025-07-09)
  • 기술 스택: FastAPI + React + PostgreSQL + OpenAI API

Week 1-2: 백엔드 기반 구축

1.1 프로젝트 초기 설정 (Day 1-2)

  • FastAPI 프로젝트 초기 구조 생성
  • Python 가상환경 설정
  • requirements.txt 작성
  • 기본 API 구조 및 라우터 설정
  • 개발환경 설정 (Docker, .env)

1.2 데이터베이스 설정 (Day 3-4)

  • PostgreSQL + pgvector 설치 및 설정
  • 데이터베이스 스키마 생성 (users, projects, documents, embeddings, chat_history)
  • SQLAlchemy 모델 정의
  • 데이터베이스 마이그레이션 설정 (Alembic)

1.3 인증 시스템 (Day 5-7)

  • JWT 기반 인증 시스템 구현
  • 사용자 회원가입 API
  • 사용자 로그인 API
  • 인증 미들웨어 구현
  • 비밀번호 해싱 (bcrypt)

1.4 문서 업로드 API (Day 8-14)

  • 파일 업로드 엔드포인트 구현
  • 파일 검증 (PDF, TXT, 10MB 제한)
  • 로컬 파일 저장 시스템
  • 문서 메타데이터 DB 저장
  • 업로드 API 테스트

Week 3-4: RAG 시스템 구현

3.1 OpenAI API 연동 (Day 15-17)

  • OpenAI API 클라이언트 설정
  • GPT-3.5-turbo 채팅 완성 API 연동
  • text-embedding-3-small 임베딩 API 연동
  • API 키 관리 및 환경 변수 설정
  • API 에러 핸들링

3.2 문서 텍스트 추출 (Day 18-21)

  • PyPDF2를 사용한 PDF 텍스트 추출
  • TXT 파일 읽기 기능
  • 텍스트 전처리 (클리닝, 정규화)
  • 문서 청킹 (chunk 분할) 구현
  • 추출된 텍스트 DB 저장

3.3 벡터 임베딩 시스템 (Day 22-24)

  • 문서 청크 임베딩 생성
  • pgvector에 임베딩 저장
  • 유사도 검색 쿼리 구현
  • 임베딩 인덱스 최적화

3.4 질의응답 엔진 (Day 25-28)

  • RAG 질의응답 로직 구현
  • 관련 문서 검색 및 컨텍스트 생성
  • GPT 프롬프트 엔지니어링
  • 답변 생성 및 출처 표시
  • 채팅 기록 저장

Week 5-6: 프론트엔드 및 통합

5.1 React 프로젝트 설정 (Day 29-31)

  • Create React App + TypeScript 설정
  • Tailwind CSS 설정
  • 라우팅 설정 (React Router)
  • API 클라이언트 설정 (Axios)
  • 상태 관리 설정 (Context API 또는 Zustand)

5.2 인증 UI (Day 32-34)

  • 로그인 페이지 구현
  • 회원가입 페이지 구현
  • 인증 상태 관리
  • 보호된 라우트 구현
  • 사용자 프로필 UI

5.3 프로젝트 관리 UI (Day 35-37)

  • 프로젝트 목록 사이드바
  • 프로젝트 생성 모달
  • 프로젝트 전환 기능
  • 프로젝트 설정 및 삭제

5.4 문서 업로드 UI (Day 38-40)

  • 드래그 앤 드롭 파일 업로드
  • 파일 업로드 진행률 표시
  • 업로드된 문서 목록 표시
  • 문서 삭제 기능
  • 파일 크기/형식 검증 UI

5.5 질의응답 채팅 UI (Day 41-42)

  • 채팅 인터페이스 구현
  • 메시지 입력 및 전송
  • 답변 스트리밍 표시
  • 출처 문서 링크 표시
  • 채팅 기록 표시

최종 통합 및 테스트

6.1 API 통합 및 테스트 (Day 43-44)

  • 프론트엔드-백엔드 API 연동
  • 에러 핸들링 및 로딩 상태
  • CORS 설정
  • API 응답 최적화

6.2 전체 시스템 테스트 (Day 45-46)

  • E2E 테스트 시나리오 작성
  • 파일 업로드-분석-질의 전체 플로우 테스트
  • 성능 테스트 (응답시간 5초 이내)
  • 한국어/영어 질의응답 정확도 테스트

6.3 배포 및 베타 테스트 (Day 47-49)

  • 프로덕션 환경 설정
  • 도메인 및 HTTPS 설정
  • 베타 테스터 모집 (20명)
  • 사용자 피드백 수집

성공 지표 검증

기술적 지표

  • 문서 업로드 성공률 95% 이상 달성
  • 질의응답 응답시간 5초 이내 달성
  • 한국어 답변 정확도 70% 이상 달성

사용자 만족도

  • 사용자 만족도 3.5/5.0 이상 달성
  • "다시 사용하고 싶다" 80% 이상 달성
  • 명확한 개선점 피드백 수집 완료

리스크 및 대응책

기술적 리스크

  • OpenAI API 제한: 대안 모델 준비 (Anthropic Claude)
  • 벡터 검색 성능: 인덱스 최적화 및 쿼리 튜닝
  • 파일 처리 오류: robust한 에러 핸들링 구현

일정 리스크

  • 개발 지연: 핵심 기능 우선 구현, 부가 기능은 연기
  • 통합 이슈: 주간 단위 통합 테스트 실시

사용자 리스크

  • 낮은 정확도: 프롬프트 엔지니어링 개선
  • 사용성 문제: 조기 사용자 테스트 실시

작성일: 2025-05-28
업데이트: 개발 진행에 따라 지속 업데이트