Update app.py
Browse files
app.py
CHANGED
@@ -131,7 +131,6 @@ def process_text(text_input):
|
|
131 |
filename = generate_filename(text_input, "md")
|
132 |
create_and_save_file(response, "md", text_input, should_save=should_save)
|
133 |
st.session_state.messages.append({"role": "assistant", "content": response})
|
134 |
-
st.rerun()
|
135 |
|
136 |
# Image Processing
|
137 |
def process_image(image_input, user_prompt):
|
@@ -154,7 +153,6 @@ def process_image(image_input, user_prompt):
|
|
154 |
image_response = response.choices[0].message.content
|
155 |
filename = generate_filename(user_prompt, "md", original_name)
|
156 |
create_and_save_file(image_response, "md", user_prompt, original_name, should_save=should_save)
|
157 |
-
st.rerun()
|
158 |
return image_response
|
159 |
|
160 |
# Audio Processing
|
@@ -188,7 +186,6 @@ def process_audio(audio_input, text_input=''):
|
|
188 |
filename = generate_filename(transcription, "md")
|
189 |
create_and_save_file(response, "md", text_input, should_save=should_save)
|
190 |
st.session_state.messages.append({"role": "assistant", "content": response})
|
191 |
-
st.rerun()
|
192 |
except openai.BadRequestError as e:
|
193 |
st.error(f"Audio processing error: {str(e)}")
|
194 |
|
@@ -257,7 +254,6 @@ def process_audio_and_video(video_input):
|
|
257 |
st.markdown(result)
|
258 |
filename = generate_filename(transcript, "md")
|
259 |
create_and_save_file(result, "md", "Video summary", should_save=should_save)
|
260 |
-
st.rerun()
|
261 |
except openai.BadRequestError as e:
|
262 |
st.error(f"Video audio processing error: {str(e)}")
|
263 |
else:
|
@@ -277,7 +273,6 @@ def search_arxiv(query):
|
|
277 |
filename = generate_filename(query, "md")
|
278 |
create_and_save_file(result, "md", query, should_save=should_save)
|
279 |
st.session_state.messages.append({"role": "assistant", "content": result})
|
280 |
-
st.rerun()
|
281 |
return result
|
282 |
|
283 |
# RAG PDF Gallery
|
@@ -471,8 +466,16 @@ def main():
|
|
471 |
|
472 |
if option == "Text":
|
473 |
default_text = "emojis in markdown. Maybe a buckeyball feature rating comparing them against each other in markdown emoji outline or tables."
|
474 |
-
|
475 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
476 |
with st.spinner("Processing..."):
|
477 |
process_text(text_input)
|
478 |
|
@@ -494,6 +497,7 @@ def main():
|
|
494 |
image_response = process_image(image_input, text_input)
|
495 |
with st.chat_message("ai", avatar="🦖"):
|
496 |
st.markdown(image_response)
|
|
|
497 |
|
498 |
elif option == "Audio":
|
499 |
text_input = st.text_input("Audio Prompt:", value="Summarize this audio transcription in Markdown.")
|
@@ -502,10 +506,13 @@ def main():
|
|
502 |
if audio_bytes:
|
503 |
with open("recorded_audio.wav", "wb") as f:
|
504 |
f.write(audio_bytes)
|
505 |
-
|
|
|
|
|
506 |
elif audio_input and text_input:
|
507 |
with st.spinner("Processing..."):
|
508 |
process_audio(audio_input, text_input)
|
|
|
509 |
|
510 |
elif option == "Video":
|
511 |
text_input = st.text_input("Video Prompt:", value="Summarize this video and its transcription in Markdown.")
|
@@ -516,6 +523,7 @@ def main():
|
|
516 |
else:
|
517 |
with st.spinner("Processing..."):
|
518 |
process_audio_and_video(video_input)
|
|
|
519 |
|
520 |
elif option == "ArXiv Search":
|
521 |
query = st.text_input("AI Search ArXiv Scholarly Articles:")
|
@@ -523,6 +531,7 @@ def main():
|
|
523 |
with st.spinner("Searching ArXiv..."):
|
524 |
result = search_arxiv(query)
|
525 |
st.markdown(result)
|
|
|
526 |
|
527 |
elif option == "RAG PDF Gallery":
|
528 |
rag_pdf_gallery()
|
@@ -533,7 +542,9 @@ for message in st.session_state.messages:
|
|
533 |
st.markdown(message["content"])
|
534 |
|
535 |
if prompt := st.chat_input("GPT-4o Multimodal ChatBot - What can I help you with?"):
|
536 |
-
|
|
|
|
|
537 |
|
538 |
FileSidebar()
|
539 |
main()
|
|
|
131 |
filename = generate_filename(text_input, "md")
|
132 |
create_and_save_file(response, "md", text_input, should_save=should_save)
|
133 |
st.session_state.messages.append({"role": "assistant", "content": response})
|
|
|
134 |
|
135 |
# Image Processing
|
136 |
def process_image(image_input, user_prompt):
|
|
|
153 |
image_response = response.choices[0].message.content
|
154 |
filename = generate_filename(user_prompt, "md", original_name)
|
155 |
create_and_save_file(image_response, "md", user_prompt, original_name, should_save=should_save)
|
|
|
156 |
return image_response
|
157 |
|
158 |
# Audio Processing
|
|
|
186 |
filename = generate_filename(transcription, "md")
|
187 |
create_and_save_file(response, "md", text_input, should_save=should_save)
|
188 |
st.session_state.messages.append({"role": "assistant", "content": response})
|
|
|
189 |
except openai.BadRequestError as e:
|
190 |
st.error(f"Audio processing error: {str(e)}")
|
191 |
|
|
|
254 |
st.markdown(result)
|
255 |
filename = generate_filename(transcript, "md")
|
256 |
create_and_save_file(result, "md", "Video summary", should_save=should_save)
|
|
|
257 |
except openai.BadRequestError as e:
|
258 |
st.error(f"Video audio processing error: {str(e)}")
|
259 |
else:
|
|
|
273 |
filename = generate_filename(query, "md")
|
274 |
create_and_save_file(result, "md", query, should_save=should_save)
|
275 |
st.session_state.messages.append({"role": "assistant", "content": result})
|
|
|
276 |
return result
|
277 |
|
278 |
# RAG PDF Gallery
|
|
|
466 |
|
467 |
if option == "Text":
|
468 |
default_text = "emojis in markdown. Maybe a buckeyball feature rating comparing them against each other in markdown emoji outline or tables."
|
469 |
+
col1, col2 = st.columns([1, 5])
|
470 |
+
with col1:
|
471 |
+
if st.button("📝 MD", key="md_button"):
|
472 |
+
st.session_state["text_input"] = default_text
|
473 |
+
with st.spinner("Processing..."):
|
474 |
+
process_text(default_text)
|
475 |
+
st.rerun()
|
476 |
+
with col2:
|
477 |
+
text_input = st.text_input("Enter your text:", value=st.session_state.get("text_input", ""), key="text_input_field")
|
478 |
+
if text_input and text_input != st.session_state.get("text_input", ""): # Only process if changed
|
479 |
with st.spinner("Processing..."):
|
480 |
process_text(text_input)
|
481 |
|
|
|
497 |
image_response = process_image(image_input, text_input)
|
498 |
with st.chat_message("ai", avatar="🦖"):
|
499 |
st.markdown(image_response)
|
500 |
+
st.rerun()
|
501 |
|
502 |
elif option == "Audio":
|
503 |
text_input = st.text_input("Audio Prompt:", value="Summarize this audio transcription in Markdown.")
|
|
|
506 |
if audio_bytes:
|
507 |
with open("recorded_audio.wav", "wb") as f:
|
508 |
f.write(audio_bytes)
|
509 |
+
with st.spinner("Processing..."):
|
510 |
+
process_audio(audio_bytes, text_input)
|
511 |
+
st.rerun()
|
512 |
elif audio_input and text_input:
|
513 |
with st.spinner("Processing..."):
|
514 |
process_audio(audio_input, text_input)
|
515 |
+
st.rerun()
|
516 |
|
517 |
elif option == "Video":
|
518 |
text_input = st.text_input("Video Prompt:", value="Summarize this video and its transcription in Markdown.")
|
|
|
523 |
else:
|
524 |
with st.spinner("Processing..."):
|
525 |
process_audio_and_video(video_input)
|
526 |
+
st.rerun()
|
527 |
|
528 |
elif option == "ArXiv Search":
|
529 |
query = st.text_input("AI Search ArXiv Scholarly Articles:")
|
|
|
531 |
with st.spinner("Searching ArXiv..."):
|
532 |
result = search_arxiv(query)
|
533 |
st.markdown(result)
|
534 |
+
st.rerun()
|
535 |
|
536 |
elif option == "RAG PDF Gallery":
|
537 |
rag_pdf_gallery()
|
|
|
542 |
st.markdown(message["content"])
|
543 |
|
544 |
if prompt := st.chat_input("GPT-4o Multimodal ChatBot - What can I help you with?"):
|
545 |
+
with st.spinner("Processing..."):
|
546 |
+
process_text(prompt)
|
547 |
+
st.rerun()
|
548 |
|
549 |
FileSidebar()
|
550 |
main()
|