7장. 웹 UI 연동과 배포
먼저 큰 그림부터
동네 식당이 새로 문을 연다고 해 봅시다. 주방(요리하는 곳)은 이미 다 갖춰 두었습니다. 이제 손님이 앉을 홀에 주문 키오스크를 놓고, 손님마다 주문표를 꽂아 두고, 키오스크와 주방을 잇고, 금고 열쇠는 따로 챙긴 뒤, 간판을 걸고 가게 문을 엽니다. 4장에서 만든 대화 체인과 6장에서 만든 문서 검색이 이 주방입니다. 이 장에서는 그 앞에 홀과 키오스크를 차리고 가게 문을 엽니다.
이 장에서는 세 가지를 챙겨 갑니다. 첫째, 파이썬 파일 하나로 웹 화면을 만드는 Streamlit 의 짜임입니다. 버튼을 누를 때마다 스크립트가 처음부터 다시 돈다는 실행 모델과, 다시 돌아도 남는 메모장(st.session_state)이 핵심입니다. 둘째, 4장의 대화 기억과 6장의 문서 검색을 채팅 화면에 잇는 법입니다. 화면 코드와 챗봇 로직을 나누고, 무거운 부품은 캐시로 한 번만 만들고, 답은 스트리밍으로 흘려 보여 줍니다. 셋째, 내 PC 에서 돌던 앱을 GitHub 와 Streamlit Community Cloud 를 거쳐 웹 주소로 내놓는 배포 과정과, 배포 전에 점검할 것입니다. 이 장의 실습은 브라우저를 띄우지 않고 Streamlit 의 AppTest 로 화면을 시험하므로, 대부분 API 키 없이 돌아갑니다.