Spaces:
Runtime error
Runtime error
Update app.py
Browse files
app.py
CHANGED
|
@@ -176,9 +176,6 @@ def create_file(filename, prompt, response, is_image=False):
|
|
| 176 |
with open(filename, "w", encoding="utf-8") as f:
|
| 177 |
f.write(prompt + "\n\n" + response)
|
| 178 |
|
| 179 |
-
def save_image_old2(image, filename):
|
| 180 |
-
with open(filename, "wb") as f:
|
| 181 |
-
f.write(image.getbuffer())
|
| 182 |
|
| 183 |
# Now filename length protected for linux and windows filename lengths
|
| 184 |
def save_image(image, filename):
|
|
@@ -261,47 +258,6 @@ def process_image(image_input, user_prompt):
|
|
| 261 |
|
| 262 |
return image_response
|
| 263 |
|
| 264 |
-
def process_image_old(image_input, user_prompt):
|
| 265 |
-
if image_input:
|
| 266 |
-
st.markdown('Processing image: ' + image_input.name )
|
| 267 |
-
if image_input:
|
| 268 |
-
base64_image = base64.b64encode(image_input.read()).decode("utf-8")
|
| 269 |
-
response = client.chat.completions.create(
|
| 270 |
-
model=MODEL,
|
| 271 |
-
messages=[
|
| 272 |
-
{"role": "system", "content": "You are a helpful assistant that responds in Markdown."},
|
| 273 |
-
{"role": "user", "content": [
|
| 274 |
-
{"type": "text", "text": user_prompt},
|
| 275 |
-
{"type": "image_url", "image_url": {
|
| 276 |
-
"url": f"data:image/png;base64,{base64_image}"}
|
| 277 |
-
}
|
| 278 |
-
]}
|
| 279 |
-
],
|
| 280 |
-
temperature=0.0,
|
| 281 |
-
)
|
| 282 |
-
image_response = response.choices[0].message.content
|
| 283 |
-
st.markdown(image_response)
|
| 284 |
-
|
| 285 |
-
# Save markdown on image AI output from gpt4o
|
| 286 |
-
filename_md = generate_filename(image_input.name + '- ' + image_response, "md")
|
| 287 |
-
# Save markdown on image AI output from gpt4o
|
| 288 |
-
filename_png = filename_md.replace('.md', '.' + image_input.name.split('.')[-1])
|
| 289 |
-
|
| 290 |
-
create_file(filename_md, image_response, '', True) #create_file() # create_file() 3 required positional arguments: 'filename', 'prompt', and 'response'
|
| 291 |
-
|
| 292 |
-
with open(filename_md, "w", encoding="utf-8") as f:
|
| 293 |
-
f.write(image_response)
|
| 294 |
-
|
| 295 |
-
# Extract boldface terms from image_response then autoname save file
|
| 296 |
-
#boldface_terms = extract_boldface_terms(image_response)
|
| 297 |
-
boldface_terms = extract_title(image_response).replace(':','')
|
| 298 |
-
filename_stem, extension = os.path.splitext(image_input.name)
|
| 299 |
-
filename_img = f"{filename_stem} {''.join(boldface_terms)}{extension}"
|
| 300 |
-
newfilename = save_image(image_input, filename_img)
|
| 301 |
-
filename_md = newfilename.replace('.png', '.md')
|
| 302 |
-
create_file(filename_md, '', image_response, True)
|
| 303 |
-
|
| 304 |
-
return image_response
|
| 305 |
|
| 306 |
def create_audio_file(filename, audio_data, should_save):
|
| 307 |
if should_save:
|
|
@@ -1172,28 +1128,6 @@ def display_glossary(glossary, area):
|
|
| 1172 |
st.write(f"{idx}. {term}")
|
| 1173 |
|
| 1174 |
|
| 1175 |
-
|
| 1176 |
-
#@st.cache_resource
|
| 1177 |
-
def display_videos_and_links_old(num_columns):
|
| 1178 |
-
video_files = [f for f in os.listdir('.') if f.endswith('.mp4')]
|
| 1179 |
-
if not video_files:
|
| 1180 |
-
st.write("No MP4 videos found in the current directory.")
|
| 1181 |
-
return
|
| 1182 |
-
|
| 1183 |
-
video_files_sorted = sorted(video_files, key=lambda x: len(x.split('.')[0]))
|
| 1184 |
-
cols = st.columns(num_columns) # Define num_columns columns outside the loop
|
| 1185 |
-
col_index = 0 # Initialize column index
|
| 1186 |
-
|
| 1187 |
-
for video_file in video_files_sorted:
|
| 1188 |
-
with cols[col_index % num_columns]: # Use modulo 2 to alternate between the first and second column
|
| 1189 |
-
# Embedding video with autoplay and loop using HTML
|
| 1190 |
-
#video_html = ("""<video width="100%" loop autoplay> <source src="{video_file}" type="video/mp4">Your browser does not support the video tag.</video>""")
|
| 1191 |
-
#st.markdown(video_html, unsafe_allow_html=True)
|
| 1192 |
-
k = video_file.split('.')[0] # Assumes keyword is the file name without extension
|
| 1193 |
-
st.video(video_file, format='video/mp4', start_time=0)
|
| 1194 |
-
display_glossary_entity(k)
|
| 1195 |
-
col_index += 1 # Increment column index to place the next video in the next column
|
| 1196 |
-
|
| 1197 |
def display_images_and_wikipedia_summaries(num_columns=4):
|
| 1198 |
image_files = [f for f in os.listdir('.') if f.endswith('.png')]
|
| 1199 |
if not image_files:
|
|
@@ -1246,50 +1180,6 @@ def display_videos_and_links(num_columns):
|
|
| 1246 |
|
| 1247 |
col_index += 1 # Increment column index to place the next video in the next column
|
| 1248 |
|
| 1249 |
-
def display_videos_and_links_old2(num_columns):
|
| 1250 |
-
video_files = [f for f in os.listdir('.') if f.endswith('.mp4')]
|
| 1251 |
-
if not video_files:
|
| 1252 |
-
st.write("No MP4 videos found in the current directory.")
|
| 1253 |
-
return
|
| 1254 |
-
|
| 1255 |
-
video_files_sorted = sorted(video_files, key=lambda x: len(x.split('.')[0]))
|
| 1256 |
-
cols = st.columns(num_columns) # Define num_columns columns outside the loop
|
| 1257 |
-
col_index = 0 # Initialize column index
|
| 1258 |
-
|
| 1259 |
-
for video_file in video_files_sorted:
|
| 1260 |
-
with cols[col_index % num_columns]: # Use modulo to alternate between columns
|
| 1261 |
-
k = video_file.split('.')[0] # Assumes keyword is the file name without extension
|
| 1262 |
-
st.video(video_file, format='video/mp4', start_time=0)
|
| 1263 |
-
display_glossary_entity(k)
|
| 1264 |
-
|
| 1265 |
-
# Add text input for video file
|
| 1266 |
-
video_text_input = st.text_input(f"Video Prompt for {video_file}", key=f"video_prompt_{video_file}")
|
| 1267 |
-
if video_text_input:
|
| 1268 |
-
process_video(video_file, video_text_input)
|
| 1269 |
-
|
| 1270 |
-
col_index += 1 # Increment column index to place the next video in the next column
|
| 1271 |
-
|
| 1272 |
-
#@st.cache_resource
|
| 1273 |
-
def display_images_and_wikipedia_summaries_old(num_columns=4):
|
| 1274 |
-
image_files = [f for f in os.listdir('.') if f.endswith('.png')]
|
| 1275 |
-
if not image_files:
|
| 1276 |
-
st.write("No PNG images found in the current directory.")
|
| 1277 |
-
return
|
| 1278 |
-
|
| 1279 |
-
image_files_sorted = sorted(image_files, key=lambda x: len(x.split('.')[0]))
|
| 1280 |
-
|
| 1281 |
-
cols = st.columns(num_columns) # Use specified num_columns for layout
|
| 1282 |
-
col_index = 0 # Initialize column index for cycling through columns
|
| 1283 |
-
|
| 1284 |
-
for image_file in image_files_sorted:
|
| 1285 |
-
with cols[col_index % num_columns]: # Cycle through columns based on num_columns
|
| 1286 |
-
image = Image.open(image_file)
|
| 1287 |
-
st.image(image, caption=image_file, use_column_width=True)
|
| 1288 |
-
k = image_file.split('.')[0] # Assumes keyword is the file name without extension
|
| 1289 |
-
display_glossary_entity(k)
|
| 1290 |
-
col_index += 1 # Increment to move to the next column in the next iteration
|
| 1291 |
-
|
| 1292 |
-
|
| 1293 |
def get_all_query_params(key):
|
| 1294 |
return st.query_params().get(key, [])
|
| 1295 |
|
|
|
|
| 176 |
with open(filename, "w", encoding="utf-8") as f:
|
| 177 |
f.write(prompt + "\n\n" + response)
|
| 178 |
|
|
|
|
|
|
|
|
|
|
| 179 |
|
| 180 |
# Now filename length protected for linux and windows filename lengths
|
| 181 |
def save_image(image, filename):
|
|
|
|
| 258 |
|
| 259 |
return image_response
|
| 260 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 261 |
|
| 262 |
def create_audio_file(filename, audio_data, should_save):
|
| 263 |
if should_save:
|
|
|
|
| 1128 |
st.write(f"{idx}. {term}")
|
| 1129 |
|
| 1130 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1131 |
def display_images_and_wikipedia_summaries(num_columns=4):
|
| 1132 |
image_files = [f for f in os.listdir('.') if f.endswith('.png')]
|
| 1133 |
if not image_files:
|
|
|
|
| 1180 |
|
| 1181 |
col_index += 1 # Increment column index to place the next video in the next column
|
| 1182 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1183 |
def get_all_query_params(key):
|
| 1184 |
return st.query_params().get(key, [])
|
| 1185 |
|