컴백부터 K-뷰티까지 — K-컬쳐의 모든 것을 메일로 받아보세요메일로 받아보기

METAL MEDIA

lamhotsiagian/llm-system-design

13Python

실제 서비스처럼 동작하는 LLM 시스템을 파이썬 코드로 통째로 뜯어볼 수 있게 만든 학습용 저장소

이 저장소는 대규모 언어모델(LLM)을 서비스로 운영할 때 필요한 라우팅, 검색증강생성(RAG), 안전장치, 에이전트 제어 로직을 외부 프레임워크 없이 순수 파이썬으로 구현한 project와, LangChain과 Streamlit으로 만든 체험용 웹 UI인 lab 두 부분으로 구성된다. project에는 150개 이상의 오프라인 테스트가 딸린 30여 개 모듈이 있고, lab은 로컬 Ollama 모델(llama3.1, nomic-embed-text)이나 결정론적 오프라인 모드로 돌아간다. 즉 실제 서버나 API 키 없이도 LLM 시스템 설계의 각 구성요소를 직접 실행하고 내부 동작을 눈으로 확인할 수 있다.

무엇을 하는 레포인가

  1. project 폴더는 토큰 처리량·비용 계산, 요청 처리 파이프라인, 라우팅, 캐싱, 안전 필터, 훈련 인프라 수식, 추론 엔진, RAG, 도구 실행, 에이전트, 다중 에이전트 오케스트레이션, 모니터링, 자동 확장, 신뢰성 엔지니어링 등 실제 LLM 플랫폼에 필요한 30여 개 모듈을 순수 파이썬 표준 라이브러리로 구현했다
  2. lab 폴더는 LangChain과 Streamlit을 이용해 라우팅, RAG, 에이전트, 가드레일, 시맨틱 캐시, 추천, 평가 등을 웹 화면에서 클릭해보며 실행 흔적을 눈으로 볼 수 있게 만들었다
  3. lab은 Ollama가 로컬에서 돌고 있으면 llama3.1과 nomic-embed-text 모델을 실제로 쓰고, 없으면 자동으로 오프라인 모드(결정론적 가짜 응답)로 전환되는 auto 백엔드를 기본으로 한다
  4. project는 pytest로 150개 이상의 테스트를, lab은 LAB_BACKEND=offline 환경변수로 서버 없이 테스트를 돌릴 수 있어 재현 가능한 검증이 가능하다
  5. 선택적으로 FastAPI 기반 HTTP API 서버를 띄우거나 vLLM, TGI, Ollama, 벤더 API 등 OpenAI 호환 엔드포인트에 연결할 수도 있다

왜 중요한가

LLM 서비스를 실제로 운영해보지 않고도 라우팅, RAG, 안전장치, 에이전트, 캐싱, 관측성 같은 프로덕션 설계 요소들을 코드 레벨에서 직접 만지며 배울 수 있어, 시스템 설계 학습이나 면접 준비, 사내 프로토타이핑에 참고할 실습 교재로 쓸 수 있다.

이 레포의 용어

  • RAG(검색증강생성) · 질문에 답하기 전에 관련 문서를 검색해 그 내용을 근거로 답변을 만드는 방식
  • ReAct 에이전트 루프 · 모델이 생각하고 도구를 호출하고 결과를 관찰하는 과정을 반복하며 문제를 푸는 구조
  • KV 캐시 · 이전에 계산한 어텐션 결과를 저장해 다음 토큰 생성을 빠르게 하는 메모리 구조
  • LCEL · LangChain에서 여러 처리 단계를 파이프처럼 연결하는 체이닝 문법
  • 가드레일 · 모델에 위험한 입력이 들어오거나 위험한 출력이 나가는 것을 걸러내는 안전장치

레포 원문 소개 (영문)

A production-grade LLM System Design platform & interactive lab. Features a pure-Python LLM serving, RAG, routing, safety, and agent control plane (150+ offline tests) plus a LangChain + Streamlit UI with local Ollama models.

GitHub에서 보기

주목받는 레포

레포 전체 보기 →

METAL MEDIA 최신 기사