배포¶
RAG4U는 두 부분으로 나뉩니다.
- 공개 문서 사이트: GitHub Pages에 배포하는 정적 사이트
- RAG API/UI: 로컬 또는 사내 서버에서 실행하는 애플리케이션
이 계획에서는 공개 문서 사이트만 GitHub Pages에 배포합니다.
문서 사이트 로컬 실행¶
source .venv/bin/activate
mkdocs serve
브라우저에서 엽니다.
http://127.0.0.1:8000
macOS에서 Xcode 라이선스 미동의로 watchdog 설치가 막힌 환경이라면 정적 빌드 결과를 직접 서빙합니다.
mkdocs build --strict
python -m http.server 8011 --directory site
http://127.0.0.1:8011
문서 사이트 빌드¶
mkdocs build --strict
빌드 산출물은 site/ 폴더에 생성되며 git에는 포함하지 않습니다.
GitHub Pages 자동 배포¶
.github/workflows/docs.yml이 포함되어 있습니다. GitHub repository를 만들고 main 브랜치에 push하면 문서 사이트를 빌드하고 Pages artifact로 배포합니다.
GitHub에서 필요한 설정:
- Repository Settings로 이동
- Pages 메뉴로 이동
- Source를
GitHub Actions로 설정 main브랜치에 push- Actions 탭에서
Deploy RAG4U Docsworkflow 확인
Git 저장소가 아직 없다면¶
현재 작업 폴더가 Git 저장소가 아니라면 다음 절차가 필요합니다.
git init
git add .
git commit -m "Add RAG4U docs site"
git branch -M main
git remote add origin https://github.com/<OWNER>/<REPO>.git
git push -u origin main
RAG 앱 실행¶
문서 사이트와 별도로 RAG 앱을 실행합니다.
uvicorn app.api.main:app --host 127.0.0.1 --port 8010
APP_API_BASE_URL=http://127.0.0.1:8010 streamlit run app/ui/streamlit_app.py --server.port 8502
외부 공개 시 주의¶
실제 RAG API와 Streamlit 앱을 외부에 공개하려면 추가 설계가 필요합니다.
- 사용자 인증
- 문서별 권한
- API rate limit
- 외부 provider 전송 동의
- 감사 로그
- 민감 정보 마스킹
- HTTPS와 배포 환경 secrets 관리
현재 MVP는 로컬 또는 제한된 사내 검증 환경을 기준으로 합니다.