▶️25

[영상] 파이썬으로 나만의 AI 챗봇 만들기

Day 4: 제조 도메인 챗봇

학습 목표

Python으로 대화 히스토리를 유지하는 챗봇 구조를 구현한다 제조 도메인 페르소나를 system 프롬프트로 정의한다 Streamlit으로 챗봇 UI를 구성한다 대화 맥락 길이를 관리해 토큰 초과를 방지한다

영상 핵심 정리 — 파이썬으로 제조 도메인 챗봇 구축

단순 API 호출에서 실용적인 챗봇으로 발전시키려면 대화 상태 관리와 UI가 필요하다. 이 영상은 Streamlit + OpenAI로 30분 만에 제조 Q&A 챗봇을 완성하는 과정을 보여준다.


1. 대화 상태 관리 구조

import streamlit as st
from openai import OpenAI

client = OpenAI()

SYSTEM_PROMPT = '''당신은 자동차 부품 제조 공장의 품질 관리 전문가입니다.
불량률·설비 이상·공정 파라미터 질문에 답하고,
답변은 항상 '원인 / 조치 / 예방' 세 항목으로 구성하세요.'''

if 'messages' not in st.session_state:
    st.session_state.messages = [{'role': 'system', 'content': SYSTEM_PROMPT}]

2. Sliding Window 컨텍스트 관리

전체 히스토리: [system, u1, a1, u2, a2, u3, a3, u4, a4]
→ 최근 N개 유지: [system, u3, a3, u4, a4]  (system은 항상 보존)
방식장점단점
전체 히스토리완전한 맥락토큰·비용 무한 증가
Sliding Window비용 통제오래된 정보 손실
요약 압축균형구현 복잡도 높음

3. 제조 도메인 특화 포인트

  • 용어 정의: 불량 유형 코드(예: D-001=치수 불량) 를 system에 내장
  • 출력 형식 강제: JSON 또는 마크다운 표 형식으로 구조화
  • 면책 조항: 안전 관련 판단은 반드시 인간 검증 요구 문구 삽입

함정 주의: st.session_state.messages에 system 프롬프트를 중복으로 추가하는 실수가 흔하다. 초기화 조건(if 'messages' not in st.session_state)을 반드시 확인해야 한다.


다음 task와의 연결

'제조 도메인 챗봇 설계 원칙' 읽기 자료에서 도메인 특화 system 프롬프트를 체계적으로 설계하는 템플릿을 학습한다.

AI로 학습하기 — 꿀팁
🤖제조 챗봇 Sliding Window 구현 요청AI 학습 팁

AI 에이전트에게 제조 설비 진단 챗봇의 대화 히스토리를 Sliding Window로 관리하는 코드를 작성하게 하고, 컨텍스트 초과 방지 로직이 올바른지 검토하세요.

제조 현장 설비 고장 진단 챗봇을 Python으로 구현해줘. messages 리스트에 대화 히스토리를 누적하되, 오래된 대화를 잘라내는 Sliding Window 로직을 포함해줘. system 프롬프트에는 '스마트팩토리 설비 전문가 역할, 알람 코드 해석, 정비 절차 안내, 모르면 전문가 확인 권고'를 명시하고, 컨텍스트 토큰 초과를 방지하는 코드도 작성해줘.
이 팁이 도움이 됐나요?
핵심 포인트
  • 대화 히스토리는 messages 리스트에 누적하여 맥락 연속성을 유지한다
  • system 프롬프트에 도메인 지식·제약·출력 형식을 구체적으로 명시한다
  • Sliding Window로 오래된 대화를 잘라내 컨텍스트 초과를 방지한다
  • st.session_state로 Streamlit 리렌더링 간 대화 상태를 보존한다