Heim > Backend-Entwicklung > Python-Tutorial > Streamlit-Teil: Erstellen Sie eine Chat-Schnittstelle

Streamlit-Teil: Erstellen Sie eine Chat-Schnittstelle

Barbara Streisand
Freigeben: 2024-11-19 01:46:02
Original
718 Leute haben es durchsucht

Streamlit Part Build a Chat Interface

Lassen Sie uns eine Chat-Schnittstelle in Streamlit erstellen: Der einfache Weg

Wollten Sie schon immer Ihre eigene Chat-Oberfläche erstellen, dachten aber, dass es zu kompliziert wäre? Nun, ich habe gute Neuigkeiten – mit Streamlit ist es überraschend einfach. Lassen Sie uns durch die Erstellung einer einfachen Chat-App gehen, die Sie später zu etwas komplexerem erweitern können.

Was wir bauen

Wir erstellen eine Chat-Oberfläche, über die Benutzer Nachrichten eingeben und Antworten erhalten können. Betrachten Sie es als Grundlage für Ihren zukünftigen Chatbot oder KI-Assistenten. Das Beste daran? Dazu benötigen Sie nur ein paar Zeilen Python-Code.

Erste Schritte

Zuerst richten wir unsere Streamlit-App ein. Wir benötigen ein schönes, breites Layout, um unseren Chat-Nachrichten viel Platz zu geben:

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!")  
Nach dem Login kopieren

Den Überblick über Nachrichten behalten

Chat-Apps brauchen Gedächtnis – sie müssen sich daran erinnern, was zuvor im Gespräch gesagt wurde. Streamlit verfügt über eine nette Funktion namens Sitzungsstatus, die dafür perfekt geeignet ist:

if "messages" not in st.session_state:  
    st.session_state.messages = []  
Nach dem Login kopieren

Dadurch wird eine Liste zum Speichern unseres Chat-Verlaufs erstellt. Betrachten Sie es als ein Notizbuch, in dem wir alles aufschreiben, was wir sagen.

Das Gespräch anzeigen

Jetzt zeigen wir unsere Chat-Nachrichten an. Wir durchlaufen unseren Nachrichtenverlauf und zeigen jede Nachricht in einer Chat-Blase an:

for msg in st.session_state.messages:  
    with st.chat_message(msg["role"]):  
        st.write(msg["content"])  
Nach dem Login kopieren

Benutzereingaben einholen

Hier passiert die Magie. Wir fügen ein Textfeld hinzu, in das Benutzer ihre Nachrichten eingeben können:

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)  
Nach dem Login kopieren

Machen Sie es zu Ihrem eigenen

Im Moment gibt unser Bot nur zurück, was Sie sagen. Aber hier können Sie kreativ werden! Sie könnten:

  • Verbinden Sie es mit einem KI-Modell für intelligentere Antworten
  • Schaltflächen für schnelle Antworten hinzufügen
  • Fügen Sie Bilder oder Emojis in Antworten ein
  • Konversationen in einer Datenbank speichern

Der vollständige Code

Hier ist alles zusammen in einem ordentlichen Paket:

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)  
Nach dem Login kopieren

Und da haben Sie es! Eine funktionierende Chat-Oberfläche in weniger als 30 Codezeilen. Ziemlich cool, oder?

Nächstes Mal werden wir versuchen, einige intelligente KI-Funktionen hinzuzufügen, damit unser Bot Nachrichten tatsächlich versteht und darauf reagiert. Bleiben Sie dran!

Möchten Sie das ausprobieren? Kopieren Sie einfach den Code, installieren Sie Streamlit (pip install streamlit) und führen Sie es mit streamlit run your_file.py aus. Viel Spaß beim Codieren!


? Holen Sie sich den Code: GitHub – jamesbmour/blog_tutorials
? Verwandte Streamlit-Tutorials:JustCodeIt
? Unterstützen Sie meine Arbeit: Buy Me a Coffee

Das obige ist der detaillierte Inhalt vonStreamlit-Teil: Erstellen Sie eine Chat-Schnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage