Spaces:
Sleeping
Sleeping
Updated v2
Browse files
app.py
CHANGED
@@ -12,21 +12,26 @@ genai.configure(api_key=API_KEY)
|
|
12 |
model = genai.GenerativeModel('gemini-pro')
|
13 |
|
14 |
# Streamlit Page Config
|
15 |
-
st.set_page_config(page_title="Gemini Q&A App", layout="wide")
|
16 |
|
17 |
-
# Initialize Chat History in Session State
|
18 |
if "chat_history" not in st.session_state:
|
19 |
-
st.session_state.chat_history = []
|
20 |
|
21 |
# Function to get response from Gemini API
|
22 |
def get_gemini_response(question):
|
23 |
-
chat
|
|
|
|
|
|
|
|
|
|
|
24 |
try:
|
25 |
response = chat.send_message(question, stream=True)
|
26 |
full_response = ""
|
27 |
for chunk in response:
|
28 |
full_response += chunk.text + " "
|
29 |
-
st.session_state.chat_history.append({"user": question, "bot": full_response})
|
30 |
return full_response
|
31 |
except Exception as e:
|
32 |
return f"Error: {str(e)}"
|
|
|
12 |
model = genai.GenerativeModel('gemini-pro')
|
13 |
|
14 |
# Streamlit Page Config
|
15 |
+
st.set_page_config(page_title="Enhanced Gemini Q&A App", layout="wide")
|
16 |
|
17 |
+
# Initialize Chat History in Session State with the Correct Format
|
18 |
if "chat_history" not in st.session_state:
|
19 |
+
st.session_state.chat_history = [] # Empty list for chat history
|
20 |
|
21 |
# Function to get response from Gemini API
|
22 |
def get_gemini_response(question):
|
23 |
+
# Reformat the session chat history to match the API requirements
|
24 |
+
formatted_history = [
|
25 |
+
{"content": chat["user"], "role": "user"} if "user" in chat else {"content": chat["bot"], "role": "bot"}
|
26 |
+
for chat in st.session_state.chat_history
|
27 |
+
]
|
28 |
+
chat = model.start_chat(history=formatted_history) # Use the formatted history
|
29 |
try:
|
30 |
response = chat.send_message(question, stream=True)
|
31 |
full_response = ""
|
32 |
for chunk in response:
|
33 |
full_response += chunk.text + " "
|
34 |
+
st.session_state.chat_history.append({"user": question, "bot": full_response}) # Append to chat history
|
35 |
return full_response
|
36 |
except Exception as e:
|
37 |
return f"Error: {str(e)}"
|