본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성하였습니다.
Ch 2. 미니 프로젝트
https://streamlit.io/ : 간단한 코딩으로 웹사이트를 만드어주는 도구
Streamlit • A faster way to build and share data apps
Streamlit is an open-source Python framework for data scientists and AI/ML engineers to deliver interactive data apps – in only a few lines of code.
streamlit.io
웹 사이트 만들기
#streamlit 가져오기
import streamlit as st
#타이틀 입력
st.title("나의 ChatGPT")
웹사이트를 띄우는 명령어(@Terminal)
streamlit run 파일명.py

공허한 사이트에 작성한 타이틀만 들어가 있습니다.

사용자 입력이 들어오면, 사용자 입력을 user_input에 넣어뒀다가 그대로 출력
import streamlit as st
st.title("나만의 ChatGPT")
# 사용자의 입력
user_input = st.chat_input("궁금한 내용을 물어보세요!")
# 만약에 사용자 입력이 들어오면..
if user_input :
st.write(f"사용자 입력 : {user_input}")

import streamlit as st
st.title("나만의 ChatGPT")
# 사용자의 입력
user_input = st.chat_input("궁금한 내용을 물어보세요!")
# 만약에 사용자 입력이 들어오면..
if user_input:
st.chat_message("user").write(user_input)
st.chat_message("user").write(user_input)
=
with st.chat_message("user"):
st.write(user_input)

import streamlit as st
st.title("나만의 ChatGPT")
# 사용자의 입력
user_input = st.chat_input("궁금한 내용을 물어보세요!")
# 만약에 사용자 입력이 들어오면..
if user_input:
st.chat_message("user").write(user_input)
st.chat_message("assistant").write(user_input)
사용자 입력을 AI가 똑같이 반복 출력
but, 대화 내역이 쌓이지 않고, 페이지가 새로고침이 일어나면 매번 대화가 처음부터 다시 시작됨.
session_state : 새로고침이 일어나도 대화 내역을 저장해주는 기능
→ 키와 밸류 형식으로 지정함

import streamlit as st
from langchain_core.messages.chat import ChatMessage
st.title("나만의 ChatGPT")
# 처음 1번만 실행하기 위한 코드
if "messages" not in st.session_state:
# 대화 기록을 저장하기 위한 용도로 생성
st.session_state["messages"] = []
# 이전 대화 출력
def print_messages():
for chat_message in st.session_state["messages"]:
st.chat_message(chat_message.role).write(chat_message.content)
# 새로운 메시지 추가
def add_message(role, message):
st.session_state["messages"].append(ChatMessage(role=role, content=message))
print_messages()
# 사용자의 입력
user_input = st.chat_input("궁금한 내용을 물어보세요!")
# 만약에 사용자 입력이 들어오면..
if user_input:
# 웹에 대화를 출력
st.chat_message("user").write(user_input)
st.chat_message("assistant").write(user_input)
# 대화기록을 저장
add_message("user", user_input)
add_message("assistant", user_input)
아직은 단순히 앵무새처럼 사용자가 한 말을 AI도 반복하는 채팅을 구현해봤어요. 코드가 점점 길어지니까 헷갈리고 뭐가 뭔지 잘 모르겠지만 문법 공부하듯 익혀야 하는 것 같아요. 이렇게 실습해보니까 어떤 내용을 배우고 있는건지 감이 잡히네요. 물론 공부가 더 필요한 것 같아요. 역시 코딩은 쉽지않아ㅠㅠㅠㅠ중간에 오류 나서 영상 코드랑 비교해보면서 찾았더니..한 강의만 들었는데 시간이 이렇게나 많이 지나갔네요...좀더 꼼꼼하게 보고 놓치지 않도록 노력해야겠어요!!!




커리어 성장을 위한 최고의 실무교육 아카데미 | 패스트캠퍼스
성인 교육 서비스 기업, 패스트캠퍼스는 개인과 조직의 실질적인 '업(業)'의 성장을 돕고자 모든 종류의 교육 콘텐츠 서비스를 제공하는 대한민국 No. 1 교육 서비스 회사입니다.
fastcampus.co.kr
'RAG' 카테고리의 다른 글
| 패스트캠퍼스 환급챌린지 15일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.11.26 |
|---|---|
| 패스트캠퍼스 환급챌린지 14일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.11.25 |
| 패스트캠퍼스 환급챌린지 12일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.11.23 |
| 패스트캠퍼스 환급챌린지 11일차 : 테디노트의 RAG 비법노트 강의 후기 (0) | 2025.11.22 |
| 패스트캠퍼스 환급챌린지 10일차 : 테디노트의 RAG 비법노트 강의 후기 (1) | 2025.11.21 |