from dotenv import load_dotenv load_dotenv() import streamlit as st import os from PIL import Image import google.generativeai as genai genai.configure(api_key= os.getenv("GOOGLE_API_KEY")) # using Gemini pro model = genai.GenerativeModel("gemini-1.0-pro-latest") chat = model.start_chat(history= []) def get_gemini_response(question): response = chat.send_message(question, stream= True) return response # Initialize streamlit st.set_page_config(page_title= "Q&A Demo") st.header("Gemini Chat App") # Initialize session state for history if 'chat_history' not in st.session_state: st.session_state['chat_history'] = [] input = st.text_input("Input", key = "input") submit = st.button("Ask the Question") if submit and input: response = get_gemini_response(input) # add user query and response st.session_state['chat_history'].append(("You", input)) st.subheader("The Response is") for chunk in response: st.write(chunk.text) st.session_state['chat_history'].append(("Bot", chunk.text)) st.subheader("The chat history is") for role, text in st.session_state['chat_history']: st.write(f"{role} : {text}")