ziyadsuper2017 commited on
Commit
248fc3e
·
verified ·
1 Parent(s): 82d02d4

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -18
app.py CHANGED
@@ -83,16 +83,17 @@ def display_chat_history():
83
  with chat_container.container():
84
  for entry in st.session_state['chat_history']:
85
  role = entry["role"]
86
- parts = entry["parts"][0]
 
87
  if 'text' in parts:
88
- st.markdown(f"**{role.title()}:** {parts['text']}")
89
  elif 'data' in parts:
90
  mime_type = parts.get('mime_type', '')
91
  if mime_type.startswith('image'):
92
  st.image(Image.open(io.BytesIO(base64.b64decode(parts['data']))),
93
- caption='Uploaded Image', use_column_width=True)
94
  elif mime_type == 'application/pdf':
95
- st.write("**PDF Content:**")
96
  pdf_reader = PyPDF2.PdfReader(io.BytesIO(base64.b64decode(parts['data'])))
97
  for page_num in range(len(pdf_reader.pages)):
98
  page = pdf_reader.pages[page_num]
@@ -178,7 +179,7 @@ with col2:
178
  uploaded_files = st.file_uploader(
179
  "Upload Files (Images, Videos, PDFs, MP3):",
180
  type=["png", "jpg", "jpeg", "mp4", "pdf", "mp3"],
181
- accept_multiple files=True,
182
  key=st.session_state.file_uploader_key
183
  )
184
 
@@ -196,7 +197,7 @@ def convert_frames_to_wav(audio_frames):
196
  )
197
  wav_io = BytesIO()
198
  audio_segment.export(wav_io, format="wav")
199
- wav_io.seek(0)
200
  return wav_io.getvalue()
201
 
202
  async def run_webrtc():
@@ -207,7 +208,6 @@ async def run_webrtc():
207
  audio_receiver_size=256,
208
  media_stream_constraints={"video": False, "audio": True},
209
  )
210
-
211
  if webrtc_ctx.audio_receiver:
212
  st.session_state.is_recording = True
213
  st.write("Recording audio...")
@@ -227,17 +227,17 @@ st.session_state.uploaded_files = uploaded_files
227
  # --- JavaScript for Ctrl+Enter ---
228
  st.markdown(
229
  """
230
- <script>
231
- document.addEventListener('DOMContentLoaded', (event) => {
232
- document.querySelector('.stTextArea textarea').addEventListener('keydown', function(e) {
233
- if (e.key === 'Enter' && e.ctrlKey) {
234
- document.querySelector('.stButton > button').click();
235
- e.preventDefault();
236
- }
237
- });
238
- });
239
- </script>
240
- """,
241
  unsafe_allow_html=True
242
  )
243
 
 
83
  with chat_container.container():
84
  for entry in st.session_state['chat_history']:
85
  role = entry["role"]
86
+ parts = entry["parts"]
87
+
88
  if 'text' in parts:
89
+ st.markdown(f"{role.title()}: {parts['text']}")
90
  elif 'data' in parts:
91
  mime_type = parts.get('mime_type', '')
92
  if mime_type.startswith('image'):
93
  st.image(Image.open(io.BytesIO(base64.b64decode(parts['data']))),
94
+ caption='Uploaded Image', use_column_width=True)
95
  elif mime_type == 'application/pdf':
96
+ st.write("PDF Content:")
97
  pdf_reader = PyPDF2.PdfReader(io.BytesIO(base64.b64decode(parts['data'])))
98
  for page_num in range(len(pdf_reader.pages)):
99
  page = pdf_reader.pages[page_num]
 
179
  uploaded_files = st.file_uploader(
180
  "Upload Files (Images, Videos, PDFs, MP3):",
181
  type=["png", "jpg", "jpeg", "mp4", "pdf", "mp3"],
182
+ accept_multiple_files=True,
183
  key=st.session_state.file_uploader_key
184
  )
185
 
 
197
  )
198
  wav_io = BytesIO()
199
  audio_segment.export(wav_io, format="wav")
200
+ wav_io.seek(0)
201
  return wav_io.getvalue()
202
 
203
  async def run_webrtc():
 
208
  audio_receiver_size=256,
209
  media_stream_constraints={"video": False, "audio": True},
210
  )
 
211
  if webrtc_ctx.audio_receiver:
212
  st.session_state.is_recording = True
213
  st.write("Recording audio...")
 
227
  # --- JavaScript for Ctrl+Enter ---
228
  st.markdown(
229
  """
230
+ <script>
231
+ document.addEventListener('DOMContentLoaded', (event) => {
232
+ document.querySelector('.stTextArea textarea').addEventListener('keydown', function(e) {
233
+ if (e.key === 'Enter' && e.ctrlKey) {
234
+ document.querySelector('.stButton > button').click();
235
+ e.preventDefault();
236
+ }
237
+ });
238
+ });
239
+ </script>
240
+ """,
241
  unsafe_allow_html=True
242
  )
243