> 백엔드 개발 > 파이썬 튜토리얼 > Streamlit Part 채팅 인터페이스 구축

Streamlit Part 채팅 인터페이스 구축

Barbara Streisand
풀어 주다: 2024-11-19 01:46:02
원래의
688명이 탐색했습니다.

Streamlit Part Build a Chat Interface

Streamlit에서 채팅 인터페이스를 구축해 봅시다: 쉬운 방법

자신만의 채팅 인터페이스를 만들고 싶었지만 너무 복잡하다고 생각한 적이 있나요? 좋은 소식이 있습니다. 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)  
로그인 후 복사

나만의 것으로 만들기

현재 우리 봇은 사용자가 말하는 내용을 반향합니다. 하지만 여기서 창의력을 발휘할 수 있습니다! 다음을 수행할 수 있습니다.

  • 더 스마트한 대응을 위해 AI 모델에 연결
  • 빠른 답장을 위한 버튼 추가
  • 응답에 이미지나 이모티콘을 포함하세요.
  • 대화를 데이터베이스에 저장

완전한 코드

모든 것이 하나의 깔끔한 패키지에 담겨 있습니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿