ziyadsuper2017's picture
Update app.py
99ec16a
raw
history blame
1.38 kB
import streamlit as st
from google.generativeai import GenerativeModel, Part, Content
# Configure API key
api_key = "AIzaSyC70u1sN87IkoxOoIj4XCAPw97ae2LZwNME"
model_name = "gemini-pro"
# Create model object
model = GenerativeModel(api_key=api_key, model_name=model_name)
# Create chatbot interface
st.title("Gemini API Chatbot")
# Get chat history from session state
chat_history = st.session_state.get("chat_history", [])
# Get user input from text box
user_input = st.text_input("You")
# Check if user input is not empty
if user_input:
# Create user message object
user_message = Content(parts=[Part(text=user_input)], role="user")
# Add user message to chat history
chat_history.append(user_message)
# Display user message with markdown
st.markdown(f"**You:** {user_input}")
# Get model response with start_chat method
with st.spinner("Thinking..."):
response = model.generate_content(chat_history)
# Get response text from response object
response_text = response.contents[-1].parts[0].text
# Add response message to chat history
chat_history.append(Content(parts=[Part(text=response_text)], role="assistant"))
# Display response message with markdown
st.markdown(f"**Gemini Bot:** {response_text}")
# Update session state with chat history
st.session_state["chat_history"] = chat_history