← 전체 프로젝트
01. 한 줄로 보는 RedOceanMap
RedOceanMap
서울 상권 공공데이터와 주식 시세를 대화로 분석하는 서비스 — 소형 로컬 LLM의 한계를 아키텍처로 보완했습니다
- Python 3.13
- FastAPI
- SQLAlchemy 2
- PostgreSQL · pgvector
- Redis
- Ollama Gemma 4
- Gemini
- Next.js 16
- k3s
- Cloudflare Tunnel
↓ 스크롤 또는 ← → 키로 넘기기
02. 설계 원칙 - 기계가 검사하는 아키텍처
혼자 만드는 모놀리식에서 앱 8개가 엉키지 않도록, 구조 규칙을 문서가 아니라 자동 검사 계약으로 만들었습니다.
근거: minseok/.importlinter — 계약 5종 · ROADMAP — 계약 5 KEPT · 과설계 목록
03. 결정론 가드 - 규칙은 프롬프트가 아니라 코드가 지킨다
소형 모델은 프롬프트에 적힌 규칙도 어겼습니다. 그래서 숫자와 금지 사항은 코드가 집행하고, 모델은 문장만 쓰게 했습니다.



근거: 블로그 — 결정론 가드 · ROADMAP — num_ctx 사고 기록
04. 골든셋 회귀 평가 - LLM 품질을 시험으로 관리
프롬프트나 모델을 바꿀 때마다 같은 시험을 다시 치고, 규칙으로 채점합니다. 라이선스 문제로 모델을 교체할 때도 이 시험을 통과한 뒤에만 투입했습니다.
근거: chat/_docs/EVAL.md — 러너·게이트 분리 · LLM_SWAP_EVAL — 후보 5종 비교
05. 하이브리드 검색 - 측정하고 기각했다
벡터와 키워드를 섞으면 좋아질 것 같았지만, 재 보니 개선이 기준에 못 미쳐 도입하지 않았습니다. 측정해서 기각한 기록 자체가 결과물입니다.
근거: RETRIEVAL_EVAL — 게이트 판정 · LLM_SWAP_EVAL — 재측정
06. 온프레미스 배포 - 앱은 k3s, 상태는 compose
자주 바뀌는 앱은 k3s에, 데이터가 든 DB는 기존 docker compose에 두어 이관을 한 번만 하도록 나눴습니다. 비용은 0원입니다.
근거: k3s 이관 기록 · ROADMAP — 공개 보안 점검
