gemini_test / app.py
JERNGOC's picture
Create app.py
af9ede4 verified
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})