25

Streamlit 설치부터 첫 화면까지

Day 4: 제조 도메인 챗봇

학습 목표

Streamlit을 설치하고 실행할 수 있다 기본 UI 요소를 배치할 수 있다 실시간 수정 → 반영 워크플로우를 체험한다

Streamlit 시작하기


Step 1: 설치

# 가상환경 활성화 (Day 1에서 만든 것)
source mfg-ai/bin/activate  # Mac/Linux
# mfg-ai\Scripts\activate  # Windows

# Streamlit 설치
pip install streamlit

# 확인
streamlit --version
# 1.40.0 이상이면 OK

Step 2: Hello World

# hello.py
import streamlit as st

st.title("제조 AI 어시스턴트")
st.write("안녕하세요! 제조 현장의 AI 도우미입니다.")

name = st.text_input("이름을 입력하세요")
if name:
    st.success(f"{name}님, 환영합니다!")
# 실행
streamlit run hello.py

# 브라우저가 자동으로 열림
# http://localhost:8501

핵심 특징: 코드를 수정하고 저장하면 자동으로 반영된다. 새로고침도 필요 없다. (Auto-reload)

제조 챗봇 아키텍처 ▲ 사용자 → 챗봇 UI → LLM API → 제조 매뉴얼: 전체 시스템 구조

Step 3: 필수 UI 요소

import streamlit as st

# 페이지 설정
st.set_page_config(
    page_title="제조 AI 어시스턴트",
    page_icon="🏭",
    layout="wide"  # 넓은 레이아웃
)

# 제목
st.title("🏭 제조 AI 어시스턴트")
st.caption("CNC, PLC, 품질, 보전 전문 AI")

# 사이드바
with st.sidebar:
    st.header("⚙️ 설정")

    domain = st.selectbox("전문 분야", [
        "CNC 가공", "PLC 제어", "품질관리", "설비 보전"
    ])

    model = st.radio("AI 모델", [
        "gpt-4o-mini (빠르고 저렴)",
        "gpt-4o (정확하고 강력)"
    ])

    temperature = st.slider(
        "Temperature (정확성 ↔ 창의성)",
        0.0, 1.0, 0.3, 0.1
    )

    st.divider()

    if st.button("🗑️ 대화 초기화", use_container_width=True):
        st.session_state.messages = []
        st.rerun()

# 예시 질문 표시
if not st.session_state.get("messages"):
    st.info("💡 예시 질문을 클릭하거나 직접 질문하세요.")

    examples = {
        "CNC 가공": "FANUC에서 SV0401 알람이 발생했습니다. 원인과 조치는?",
        "PLC 제어": "Mitsubishi FX5U에서 통신 에러가 발생합니다.",
        "품질관리": "Cpk가 1.0 미만입니다. 공정능력 개선 방법은?",
        "설비 보전": "유압 펌프에서 이상 소음이 납니다.",
    }

    st.write(f"**{domain} 예시:** {examples.get(domain, '')}")

Step 4: 실행 확인

streamlit run hello.py

브라우저에서 사이드바, 분야 선택, 예시 질문이 보이면 성공! 다음 실습에서 여기에 AI 기능을 연결한다.

AI로 학습하기 — 꿀팁
🧪Streamlit 첫 실행 — 제조 테마 커스터마이징AI 학습 팁

기본 Streamlit UI를 제조 현장 느낌으로 커스터마이징하면 사용자 수용성이 달라집니다. 빠른 설정법을 익히세요.

Streamlit 초보 개발자가 제조 AI 내부 도구를 만들 때 첫 번째로 해야 할 설정을 가르쳐주세요. (1) .streamlit/config.toml에서 제조 현장 다크 테마(산업 그린 계열 강조색) 설정 코드, (2) 페이지 제목·아이콘·레이아웃 와이드 모드 설정, (3) 사이드바에 공장명·라인번호·교대 정보 입력 폼 구현 코드, (4) 로컬 실행 시 외부(태블릿)에서 접속 가능하게 하는 실행 명령어. 제조 현장 태블릿 해상도(1024×768)에서 잘 보이도록 고려해주세요.
이 팁이 도움이 됐나요?