Spaces:
Runtime error
Runtime error
from dotenv import load_dotenv | |
load_dotenv() | |
import google.generativeai as genai | |
import os | |
import streamlit as st | |
genai.configure(api_key=os.getenv("GOOGLE_API_KEY")) | |
#call gemini model, receive response | |
model = genai.GenerativeModel("gemini-pro") | |
chat = model.start_chat(history=[]) | |
#this function gives back response to question asked | |
def gemini_response(question): | |
response = chat.send_message(question, stream=True) | |
return response | |
#Streamlit Part (initialization app) | |
st.set_page_config(page_title = "Conversational Gemini ChatBot") | |
st.header("Powered by Google Gemini API") | |
# using session state of streamlit for chat history | |
#initially it is empty, later when we have conversations it will be stored in this session state | |
#name of session state is chat 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 Question!") | |
if input and submit: | |
response = gemini_response(input) | |
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(("ChatBot", chunk)) | |
st.subheader("The History is...") | |
for role, text in st.session_state['chat_history']: | |
st.write(f"{role}: {text}") |