是否曾經想建立自己的聊天介面,但認為它太複雜?嗯,我有個好消息 - 使用 Streamlit,一切都非常簡單。讓我們逐步創建一個基本的聊天應用程序,您稍後可以將其擴展為更複雜的應用程式。
我們正在創建一個聊天介面,用戶可以在其中鍵入訊息並獲得回應。將其視為未來聊天機器人或人工智慧助理的基礎。最好的部分?您只需要幾行 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 行程式碼的工作聊天介面。很酷,對吧?
下次,我們將考慮添加一些人工智慧,使我們的機器人真正理解並回應訊息。敬請關注!
想嘗試嗎?只需複製程式碼,安裝 Streamlit (pip installstreamlit),然後使用 Streamlit run your_file.py 運行它。快樂編碼!
?取得程式碼:GitHub - jamesbmour/blog_tutorials
?相關Streamlit教學:JustCodeIt
?支持我的工作:請我喝杯咖啡
以上是Streamlit部分建構聊天介面的詳細內容。更多資訊請關注PHP中文網其他相關文章!