텍스트가 없는 스캔 PDF는 현재 분석 불가. Gemini Vision으로 이미지 페이지 직접 분석하거나 Tesseract.js OCR 적용 가능.
AI 성능 분석
현재 AI 응답 속도·품질 문제와 개선 방법
⚡
스트리밍 전환 완료
/api/ask가 SSE(Server-Sent Events)로 Gemini 응답을 실시간 스트리밍. 첫 토큰 0.3~1초 내 표시.
문제
원인
개선 방법
난이도
웹 검색 사용 시 추가 2~5초
PDF 답변 완료 후 순차적으로 웹 검색 2차 호출
두 호출 병렬화 또는 웹 검색을 같은 호출에 통합
중간
100쪽 PDF 요약에 20~40초
단일 호출이지만 응답 JSON이 매우 큼
배치(30쪽씩) 병렬 호출, 또는 요약 비동기 생성
중간
수식·표 누락 또는 부정확
텍스트 추출 시 수식·표 구조 손실
Gemini Vision(geminiFileUri) 직접 참조로 원본 이미지 기반 응답
낮음
근거 카드가 실제와 다른 쪽 참조
청크 랭킹 후 Gemini가 쪽 번호 재추론
evidence.page를 청크 출처로 고정하는 후처리 강화
낮음
모델 선택 가이드
모델
속도
품질
비용
추천 용도
gemini-2.5-flash 현재 사용 중
빠름
우수
저렴
일반 문서 분석, 빠른 응답이 중요한 경우
gemini-2.5-pro
보통
최고
비쌈
논문·법률·수식이 복잡한 기술 문서. 긴 추론 필요 시
gemini-2.0-flash
매우 빠름
양호
가장 저렴
페이지 요약 생성, 단순 Q&A에 활용하고 복잡 질문은 2.5-flash로 라우팅
프롬프트 최적화 체크리스트
rankedChunks 상위 10개 전달 → 5~6개로 줄이면 토큰 절약·응답 속도 향상
evidence 최대 5개 → 3개로 줄여도 UX 저하 없음, 응답 속도 개선
웹 검색 보강 프롬프트에 PDF 전체 답변 JSON 첨부 중 → 요약본(answer 필드만)으로 교체
페이지 요약 시 geminiFileUri가 있으면 텍스트 대신 파일 직접 참조 (현재 구현됨, 유지)
배포
배포 환경 및 제약 사항
⚠
Vercel Hobby 플랜 제약
함수 실행 최대 10초. /api/analyze-pdf(maxDuration=90s)와 /api/ask(maxDuration=120s)는 Pro 플랜 이상 필요. Body 크기 제한 4.5MB → 업로드 파일 크기를 4.5MB로 제한한 이유.
플랫폼
무료 한도
적합성
비고
Railway 추천
월 $5 크레딧 제공
최적
Node.js 영구 실행, 타임아웃 제한 없음, 환경변수 UI 편리
Vercel Pro
월 $20
유료 필요
함수 실행 5분, Edge Network CDN, 가장 편리한 Next.js 배포
Fly.io
소형 VM 3개 무료
가능
Docker 기반, 타임아웃 없음, 설정 약간 복잡
Koyeb
Nano 인스턴스 2개 무료
가능
GitHub 연동 배포, 타임아웃 없음, EU 리전 중심
GitHub Pages
무제한 (정적만)
정적 전용
이 리포트 HTML 같은 정적 파일 배포에 최적
💡
Railway 배포 방법 요약
GitHub 저장소 연결 → New Project → Deploy from GitHub → 환경변수 설정(DATABASE_URL, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, NEXTAUTH_SECRET, NEXTAUTH_URL, GOOGLE_AI_API_KEY) → 자동 빌드·배포. Node.js 서버로 실행되어 장시간 API 함수에 제한 없음.