20분
Streamlit: 제조 엔지니어를 위한 가장 쉬운 UI
Day 4: 제조 도메인 챗봇
Streamlit: 제조 엔지니어를 위한 가장 쉬운 UI
LLM 기초 > Day 4: 제조 도메인 챗봇
학습 목표
Streamlit의 장점과 한계를 이해한다 제조 현장에서 Streamlit이 적합한 이유를 파악한다 챗봇 아키텍처를 설계할 수 있다
왜 Streamlit인가?
선택지 비교
| 프레임워크 | 난이도 | 개발 시간 | 디자인 | 제조 적합도 |
|---|---|---|---|---|
| React + FastAPI | 상 | 2주+ | 자유도 높음 | 프로덕션용 |
| Gradio | 하 | 1일 | 제한적 | ML 데모용 |
| Streamlit | 하 | 1~2일 | 적당 | 내부 도구용 |
| Flask + HTML | 중 | 1주 | 수동 | 범용 |
Streamlit을 선택하는 이유:
- Python만 알면 된다 (HTML/CSS/JS 불필요)
- 1~2일이면 완성 가능
- 제조 현장의 "내부 도구"에 최적
Streamlit 핵심 개념 3가지
import streamlit as st
# 1. st.session_state: 대화 히스토리 저장
if "messages" not in st.session_state:
st.session_state.messages = []
# 2. st.chat_message: 챗봇 말풍선
with st.chat_message("assistant"):
st.markdown("안녕하세요! 제조 AI입니다.")
# 3. st.chat_input: 사용자 입력
user_input = st.chat_input("질문을 입력하세요")
이 3가지만 알면 챗봇을 만들 수 있다.
챗봇 아키텍처
┌─────────────────────────────────────────────────────────┐
│ Streamlit UI │
├─────────────────────────────────────────────────────────┤
│ ┌─────────────────┐ ┌──────────────────────────────┐ │
│ │ 사이드바 │ │ 메인 채팅창 │ │
│ │ │ │ │ │
│ │ 분야 선택 │ │ chat_message("user") │ │
│ │ 모델 선택 │ │ chat_message("assistant") │ │
│ │ 온도 조절 │ │ ... │ │
│ │ 대화 초기화 │ │ │ │
│ │ 사용량 표시 │ │ chat_input() │ │
│ └─────────────────┘ └──────────────────────────────┘ │
├─────────────────────────────────────────────────────────┤
│ 비즈니스 로직 │
│ ┌─────────────────────────────────────────────────────┐│
│ │ 분야별 시스템 프롬프트 관리 ││
│ │ 대화 히스토리 관리 (session_state) ││
│ │ 스트리밍 응답 처리 ││
│ │ 에러 처리 & 재시도 ││
│ │ 비용 추적 ││
│ └─────────────────────────────────────────────────────┘│
├─────────────────────────────────────────────────────────┤
│ OpenAI API │
└─────────────────────────────────────────────────────────┘
분야별 시스템 프롬프트
SYSTEM_PROMPTS = {
"CNC 가공": (
"당신은 20년 경력의 CNC 가공 전문가입니다. "
"FANUC, MAZAK, DMG MORI 설비에 정통합니다. "
"알람 코드, 가공 조건, 트러블슈팅을 전문으로 합니다."
),
"PLC 제어": (
"당신은 15년 경력의 PLC 프로그래밍 전문가입니다. "
"Mitsubishi, Siemens, Allen-Bradley PLC 경험이 있습니다. "
"래더 로직, 통신 설정, 디버깅을 전문으로 합니다."
),
"품질관리": (
"당신은 ISO 9001 수석심사원이자 SPC 전문가입니다. "
"자동차(IATF 16949) 및 반도체 품질관리 경험이 있습니다. "
"SPC, MSA, FMEA, 8D를 전문으로 합니다."
),
"설비 보전": (
"당신은 설비보전기사 자격의 유지보수 전문가입니다. "
"예방정비, 예지정비, 고장 진단에 정통합니다. "
"TPM, RCM 방법론을 전문으로 합니다."
),
}
각 분야에 맞는 전문가 역할을 부여하면 같은 질문에도 관점이 다른 답변을 얻을 수 있다.
AI로 학습하기 — 꿀팁
✅Streamlit 제조 현장 적합성 검증AI 학습 팁
Streamlit이 제조 현장 내부 도구에 정말 적합한지, 아니면 다른 선택지(Gradio, FastAPI+React 등)가 나은지 비교 분석하세요.
Streamlit을 제조 AI 내부 도구 개발에 적합하다고 추천하는 의견을 비판적으로 검토해주세요. (1) 제조 현장 내부 도구 요구사항(다중 사용자 동시 접속, OT 네트워크 보안, 모바일/태블릿 지원, 배포 용이성)에서 Streamlit의 실제 한계점, (2) 같은 요구사항 대비 Gradio, FastAPI+React, Retool의 비교 우위, (3) '제조 엔지니어가 빠르게 프로토타입을 만들 때'와 '실제 공장 운영 환경에 배포할 때' Streamlit 적합성이 어떻게 달라지는지 분석해주세요.
이 팁이 도움이 됐나요?