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.
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.
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!")
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 = []
Dadurch wird eine Liste zum Speichern unseres Chat-Verlaufs erstellt. Betrachten Sie es als ein Notizbuch, in dem wir alles aufschreiben, was wir sagen.
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"])
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)
Im Moment gibt unser Bot nur zurück, was Sie sagen. Aber hier können Sie kreativ werden! Sie könnten:
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)
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!