LLM 엔지니어링14장 · Streamlit 화면과 Docker 컨테이너21 / 22← 이전목차다음 →MetaContents

14장. Streamlit 화면과 Docker 컨테이너

정리

Streamlit 화면, 화면과 API 잇기, Docker 와 compose 를 한 장에 모은 인포그래픽
  • Streamlit 은 위젯이 바뀔 때마다 스크립트를 처음부터 다시 실행해 화면을 그립니다. 남길 값은 st.session_state, 무거운 준비는 @st.cache_resource 에 둡니다.
  • 칸이 여럿이면 st.form 으로 묶어 제출할 때만 다시 실행되게 하고, 채팅은 st.chat_message 와 st.chat_input 에 채팅 API 와 같은 꼴의 기록을 씁니다. AppTest 로 브라우저 없이 화면을 시험합니다.
  • 화면은 모델 대신 API 를 부르고, API 의 주소와 키는 환경 변수로 받으며, 요청에 시간 제한을 두고 연결 실패를 알기 쉽게 알립니다.
  • 컨테이너는 프로그램과 파이썬, 패키지, 설정을 한 상자에 담아 어디서나 같게 띄웁니다. Dockerfile 은 기본 이미지, 패키지 설치, 코드 복사, 실행 명령의 순서이고, 판을 적은 requirements.txt 와 .dockerignore 를 함께 둡니다.
  • docker compose 는 여러 서비스를 한 파일로 띄우고 서비스 이름으로 서로 찾게 합니다. 컨테이너 안의 서버는 0.0.0.0 으로 띄우고, 비밀은 이미지가 아니라 실행할 때 넣습니다.
  • API 아키텍처는 화면, API, 모델 서버, 데이터를 나눠 바쁜 곳만 늘리고, 층마다 상태 확인 주소를 둡니다.
← 이전 절14장 · 프로젝트 1 — 온프레미스 LLM 서빙 서비스다음 절 →14장 · 확인문제와 해답