추가한 코드의 내용은 다음과 같습니다.
(13) 시스템 프롬프트 추가
• system_message 변수를 선언하고 시스템 프롬프트를 설정합니다.
• 시스템 프롬프트(system prompt)는 챗봇의 성격과 응답 스타일을 결정하는 역할을 하며, 모든 대화 내용에 적용하고 싶은 프롬프트가 있을 때 설정합니다.
(14) 대화 내용 관리를 위한 세션 상태 설정
• 대화 내용을 관리하기 위해 세션 상태를 리스트(st.session_state.messages)로 선언하고, system_message를 대화의 시작 메시지로 설정합니다.
• 세션 상태를 사용하면 입력창에 새로운 질문을 입력하더라도 대화 내역을 유지할 수 있습니다.
(15) 기존 대화 내역 표시
• st.session_state.messages에 저장된 기존 대화 내역을 화면에 표시합니다.
• 대화 내역 순번을 기록하기 위해 idx 변수를 선언하고 0으로 초기화한 후, 세션 상태 리스트에 있는 본문(content)을 반복문으로 하나씩 출력합니다.