자신만의 채팅 인터페이스를 만들고 싶었지만 너무 복잡하다고 생각한 적이 있나요? 좋은 소식이 있습니다. Streamlit을 사용하면 놀라울 정도로 간단합니다. 나중에 더 정교한 앱으로 확장할 수 있는 기본 채팅 앱을 만드는 과정을 살펴보겠습니다.
우리는 사용자가 메시지를 입력하고 응답을 받을 수 있는 채팅 인터페이스를 만들고 있습니다. 미래의 챗봇이나 AI 비서를 위한 기반이라고 생각하세요. 가장 좋은 부분은? 이를 실현하려면 Python 코드 몇 줄만 있으면 됩니다.
먼저 Streamlit 앱을 설정해 보겠습니다. 채팅 메시지에 충분한 공간을 제공하려면 멋지고 넓은 레이아웃이 필요합니다.
import streamlit as st import time st.set_page_config( page_title="Chat App", layout="wide", initial_sidebar_state="collapsed", ) st.title("Let's Chat!")
채팅 앱에는 메모리가 필요합니다. 대화 초반에 말한 내용을 기억해야 합니다. Streamlit에는 이에 딱 맞는 세션 상태라는 깔끔한 기능이 있습니다.
if "messages" not in st.session_state: st.session_state.messages = []
채팅 기록을 저장할 목록이 생성됩니다. 우리가 말한 모든 내용을 기록하는 노트라고 생각하세요.
이제 채팅 메시지를 표시해 보겠습니다. 메시지 기록을 반복하여 채팅 풍선에 각 메시지를 표시합니다.
for msg in st.session_state.messages: with st.chat_message(msg["role"]): st.write(msg["content"])
여기서 마법이 일어납니다. 사용자가 메시지를 입력할 수 있는 텍스트 상자를 추가하겠습니다.
prompt = st.chat_input("Say something...") if prompt: # Add user message to chat st.session_state.messages.append({"role": "user", "content": prompt}) with st.chat_message("user"): st.write(prompt) # Add a simple bot response time.sleep(1) # A brief pause to make it feel more natural bot_response = f"You said: {prompt}" st.session_state.messages.append({"role": "bot", "content": bot_response}) with st.chat_message("bot"): st.write(bot_response)
현재 우리 봇은 사용자가 말하는 내용을 반향합니다. 하지만 여기서 창의력을 발휘할 수 있습니다! 다음을 수행할 수 있습니다.
모든 것이 하나의 깔끔한 패키지에 담겨 있습니다.
import streamlit as st import time st.set_page_config(page_title="Chat App", layout="wide", initial_sidebar_state="collapsed") st.title("Let's Chat!") if "messages" not in st.session_state: st.session_state.messages = [] for msg in st.session_state.messages: with st.chat_message(msg["role"]): st.write(msg["content"]) prompt = st.chat_input("Say something...") if prompt: st.session_state.messages.append({"role": "user", "content": prompt}) with st.chat_message("user"): st.write(prompt) time.sleep(1) bot_response = f"You said: {prompt}" st.session_state.messages.append({"role": "bot", "content": bot_response}) with st.chat_message("bot"): st.write(bot_response)
그리고 거기에 있어요! 30줄 미만의 코드로 작동하는 채팅 인터페이스입니다. 정말 멋지죠?
다음번에는 봇이 실제로 메시지를 이해하고 응답할 수 있도록 AI 스마트 기능을 추가하는 방법을 살펴보겠습니다. 계속 지켜봐 주시기 바랍니다!
이것을 시험해 보고 싶으신가요? 코드를 복사하고 Streamlit(pip install streamlit)을 설치한 다음 streamlit run your_file.py를 사용하여 실행하세요. 즐거운 코딩하세요!
? 코드 받기: GitHub - jamesbmour/blog_tutorials
? 관련 Streamlit 튜토리얼:JustCodeIt
? 내 작업을 지원하세요: 커피 사주세요
위 내용은 Streamlit Part 채팅 인터페이스 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!