import streamlit as st import google.generativeai as genai # 設定 Gemini API genai.configure(api_key='AIzaSyAs-lbHwPZVWMGmjKJ654KZ_9M-reyna08') model = genai.GenerativeModel('gemini-pro') st.title("AI 對話應用") # 初始化對話歷史 if 'messages' not in st.session_state: st.session_state.messages = [] # 顯示對話歷史 for message in st.session_state.messages: with st.chat_message(message["role"]): st.markdown(message["content"]) # 用戶輸入 if prompt := st.chat_input("說點什麼..."): # 添加用戶訊息到對話歷史 st.session_state.messages.append({"role": "user", "content": prompt}) with st.chat_message("user"): st.markdown(prompt) # 使用 Gemini API 生成回應 with st.chat_message("assistant"): message_placeholder = st.empty() full_response = "" for response in model.generate_content(prompt, stream=True): full_response += response.text message_placeholder.markdown(full_response + "▌") message_placeholder.markdown(full_response) # 添加 AI 回應到對話歷史 st.session_state.messages.append({"role": "assistant", "content": full_response})