Spaces:
Sleeping
Sleeping
from dotenv import load_dotenv | |
load_dotenv() | |
import streamlit as st | |
import os | |
import pathlib | |
import google.generativeai as genai | |
os.getenv("GOOGLE_API_KEY") | |
genai.configure(api_key=os.getenv("GOOGLE_API_KEY")) | |
# function to los the genini api model and get responses | |
def get_gemini_response(question): | |
model =genai.GenerativeModel('gemini-pro') | |
response = model.generate_content(question) | |
return response.text | |
#intizlize the streamlitapp | |
import streamlit as st | |
# Display the header | |
st.set_page_config(page_title="DDS Q & A Demo") | |
# Display the header | |
st.header("DDS Q & A Demo using Gemini") | |
# Initialize session state variables if they don't exist | |
if 'input_text' not in st.session_state: | |
st.session_state['input_text'] = '' | |
if 'clear_field' not in st.session_state: | |
st.session_state['clear_field'] = False | |
# Define a function to clear the input field | |
def clear_input(): | |
st.session_state['input_text'] = '' | |
st.session_state['clear_field'] = True | |
# Display the input field | |
input_text = st.text_input("Input:", value='' if st.session_state['clear_field'] else st.session_state['input_text'], on_change=lambda: update_input_text(), key="input") | |
# Function to update session state with the current input text | |
def update_input_text(): | |
st.session_state['input_text'] = st.session_state.input | |
st.session_state['clear_field'] = False | |
# Submit button | |
submit = st.button("Ask your Question") | |
# Clear button | |
if st.button("Clear", on_click=clear_input): | |
pass # The clear_input function is called when this button is pressed | |
# Logic to get response | |
if submit: | |
response = get_gemini_response(input_text) | |
st.subheader("The Response is") | |
st.write(response) |