🏆45

도전 과제: 제조 챗봇에 고급 기능 3가지 추가

Day 4: 제조 도메인 챗봇

도전 과제: 챗봇 고급 기능

기능 1: 예시 질문 클릭

# 힌트
if not st.session_state.messages:
    cols = st.columns(2)
    with cols[0]:
        if st.button("🔧 알람 코드 분석"):
            # 예시 질문을 자동으로 입력
            ...

기능 2: 대화 내보내기

# 힌트
import json

def export_chat():
    chat_text = ""
    for msg in st.session_state.messages:
        role = "사용자" if msg["role"] == "user" else "AI"
        chat_text += f"[{role}]\n{msg['content']}\n\n"
    return chat_text

st.download_button(
    label="대화 저장",
    data=export_chat(),
    file_name="chat_history.md",
    mime="text/markdown"
)

기능 3: 비용 실시간 표시

# 힌트: session_state에 누적
if "total_cost" not in st.session_state:
    st.session_state.total_cost = 0.0

# API 호출 후 비용 추가
st.session_state.total_cost += estimated_cost

# 사이드바에 표시
with st.sidebar:
    st.metric("총 비용", f"${st.session_state.total_cost:.4f}")
요구사항

v1.0 챗봇에 다음 3가지 기능 중 최소 2개를 추가한다

기능 1: 예시 질문 클릭 시 자동 입력 (st.button으로 구현)

기능 2: 대화 내보내기 (마크다운 또는 텍스트 파일 다운로드)

기능 3: 토큰 사용량 & 비용 실시간 표시 (사이드바)

평가 기준
  • 추가 기능이 정상 동작하는지
  • 기존 v1.0 기능이 유지되는지
  • 코드 품질과 구조
  • UI/UX 완성도
보너스
  • 다크모드 대응
  • 대화 히스토리 JSON 내보내기/불러오기
  • 분야 전환 시 "이전 분야 대화를 유지할까요?" 확인 다이얼로그
AI로 학습하기 — 꿀팁
제조 챗봇 고급 기능 설계 검토AI 학습 팁

추가한 3가지 고급 기능의 제조 현장 적합성과 기술 구현 리스크를 AI가 검토합니다.

내가 제조 Streamlit 챗봇에 추가한 고급 기능 3가지: [1) 설비 번호 입력 시 DB에서 최근 정비 이력 자동 조회 및 컨텍스트 주입, 2) 답변에 관련 SOP 문서 링크 자동 첨부(벡터 유사도 검색), 3) 불량 발생 보고 시 담당자에게 Slack 알림 전송]. 각 기능에 대해 검토해주세요: 1) 제조 현장 보안 정책(내부 DB 접근, 외부 Slack 연동) 관점의 리스크, 2) 기능별 구현 복잡도와 실패 가능한 엣지케이스 2개씩, 3) 공장 네트워크 환경(인터넷 제한, VPN 필요)에서 동작하지 않을 수 있는 시나리오와 대안. 우선 구현 추천 순서도 알려주세요.
이 팁이 도움이 됐나요?
용어