Update app.py
Browse files
app.py
CHANGED
|
@@ -249,6 +249,21 @@ if st.session_state.current_conversation:
|
|
| 249 |
|
| 250 |
st.markdown('</div>', unsafe_allow_html=True)
|
| 251 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 252 |
# --- Export PDF ---
|
| 253 |
if st.button("📥 Export Conversation as PDF"):
|
| 254 |
pdf_bytes = generate_pdf(convo, st.session_state.current_conversation)
|
|
@@ -256,42 +271,14 @@ if st.session_state.current_conversation:
|
|
| 256 |
st.download_button("Download PDF", pdf_bytes, file_name="AskWikipedia_Conversation.pdf", mime="application/pdf")
|
| 257 |
else:
|
| 258 |
st.error("❌ Failed to generate PDF.")
|
| 259 |
-
|
| 260 |
-
# --- User Prompt ---
|
| 261 |
with st.form(key="submit_form", clear_on_submit=True):
|
| 262 |
question_input = st.text_input("Enter your question:")
|
| 263 |
context_input = st.text_area("Enter your context:")
|
| 264 |
-
|
| 265 |
-
# Button to submit the form
|
| 266 |
submit_button = st.form_submit_button("Submit")
|
| 267 |
-
|
| 268 |
if submit_button:
|
| 269 |
if question_input and context_input:
|
| 270 |
-
combined_input = f"Question: {question_input}<br
|
| 271 |
convo.append({"role": "user", "text": combined_input})
|
| 272 |
-
|
| 273 |
-
# Avoid rerunning unnecessarily
|
| 274 |
st.session_state.chat_sessions[st.session_state.current_conversation] = convo
|
| 275 |
-
st.rerun()
|
| 276 |
-
|
| 277 |
-
# Display assistant response after rerun
|
| 278 |
-
if st.session_state.current_conversation and len(st.session_state.chat_sessions[st.session_state.current_conversation]) % 2 == 1:
|
| 279 |
-
convo = st.session_state.chat_sessions[st.session_state.current_conversation]
|
| 280 |
-
last_user_msg = convo[-1]["text"]
|
| 281 |
-
|
| 282 |
-
question_input, context_input = last_user_msg.split("<br><br>")
|
| 283 |
-
question_input = question_input.replace("Question: ", "")
|
| 284 |
-
context_input = context_input.replace("Context: ", "")
|
| 285 |
-
|
| 286 |
-
prompt = create_test_prompt(question_input, context_input, st.session_state.llama_tokenizer)
|
| 287 |
-
with st.spinner("Generating response..."):
|
| 288 |
-
try:
|
| 289 |
-
assistant_reply = get_llama_response(prompt)
|
| 290 |
-
|
| 291 |
-
except Exception as e:
|
| 292 |
-
assistant_reply = f"⚠️ Failed to generate response"
|
| 293 |
-
|
| 294 |
-
# Now, append the response after the spinner
|
| 295 |
-
convo.append({"role": "assistant", "text": assistant_reply})
|
| 296 |
-
st.session_state.chat_sessions[st.session_state.current_conversation] = convo
|
| 297 |
-
st.rerun()
|
|
|
|
| 249 |
|
| 250 |
st.markdown('</div>', unsafe_allow_html=True)
|
| 251 |
|
| 252 |
+
# --- User Prompt ---
|
| 253 |
+
# --- Generate Assistant Response ---
|
| 254 |
+
if len(convo) % 2 == 1:
|
| 255 |
+
last_user_msg = convo[-1]["text"]
|
| 256 |
+
with st.spinner("Generating response..."):
|
| 257 |
+
try:
|
| 258 |
+
assistant_reply = get_wikipedia_summary(last_user_msg)
|
| 259 |
+
except Exception as e:
|
| 260 |
+
assistant_reply = "⚠️ Failed to generate response"
|
| 261 |
+
convo.append({"role": "assistant", "text": assistant_reply})
|
| 262 |
+
st.session_state.chat_sessions[st.session_state.current_conversation] = convo
|
| 263 |
+
st.rerun()
|
| 264 |
+
|
| 265 |
+
# --- Input Form at Bottom ---
|
| 266 |
+
st.markdown("---")
|
| 267 |
# --- Export PDF ---
|
| 268 |
if st.button("📥 Export Conversation as PDF"):
|
| 269 |
pdf_bytes = generate_pdf(convo, st.session_state.current_conversation)
|
|
|
|
| 271 |
st.download_button("Download PDF", pdf_bytes, file_name="AskWikipedia_Conversation.pdf", mime="application/pdf")
|
| 272 |
else:
|
| 273 |
st.error("❌ Failed to generate PDF.")
|
| 274 |
+
|
|
|
|
| 275 |
with st.form(key="submit_form", clear_on_submit=True):
|
| 276 |
question_input = st.text_input("Enter your question:")
|
| 277 |
context_input = st.text_area("Enter your context:")
|
|
|
|
|
|
|
| 278 |
submit_button = st.form_submit_button("Submit")
|
|
|
|
| 279 |
if submit_button:
|
| 280 |
if question_input and context_input:
|
| 281 |
+
combined_input = f"Question: {question_input}<br>Context: {context_input}"
|
| 282 |
convo.append({"role": "user", "text": combined_input})
|
|
|
|
|
|
|
| 283 |
st.session_state.chat_sessions[st.session_state.current_conversation] = convo
|
| 284 |
+
st.rerun()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|