pentarosarium commited on
Commit
54d4971
·
1 Parent(s): 9bce4d4
Files changed (1) hide show
  1. app.py +27 -10
app.py CHANGED
@@ -990,7 +990,8 @@ def process_file(uploaded_file, model_choice, translation_method=None):
990
  df[col] = default_value
991
 
992
  # Copy all columns to processed_rows_df
993
- processed_rows_df = pd.DataFrame(columns=df.columns)
 
994
 
995
  # Deduplication
996
  original_count = len(df)
@@ -1008,13 +1009,23 @@ def process_file(uploaded_file, model_choice, translation_method=None):
1008
  # In process_file function, replace the stop handling section:
1009
  if st.session_state.control.is_stopped():
1010
  st.warning("Обработку остановили")
1011
- # Ensure all required columns exist in processed_rows_df
1012
- for col, default_value in required_columns.items():
1013
- if col not in processed_rows_df.columns:
1014
- processed_rows_df[col] = default_value
1015
-
1016
  if not processed_rows_df.empty:
1017
  try:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1018
  output = create_output_file(processed_rows_df, uploaded_file, llm)
1019
  if output is not None:
1020
  st.download_button(
@@ -1024,9 +1035,14 @@ def process_file(uploaded_file, model_choice, translation_method=None):
1024
  mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
1025
  key="partial_download"
1026
  )
 
 
1027
  except Exception as e:
1028
- st.error(f"Ошибка при создании файла с частичными результатами: {str(e)}")
 
 
1029
  return processed_rows_df
 
1030
 
1031
  st.session_state.control.wait_if_paused()
1032
  if st.session_state.control.is_paused():
@@ -1123,8 +1139,9 @@ def process_file(uploaded_file, model_choice, translation_method=None):
1123
  df.at[idx, 'Reasoning'] = reasoning
1124
 
1125
 
1126
-
1127
- processed_rows_df = pd.concat([processed_rows_df, df.iloc[[idx]]], ignore_index=True)
 
1128
 
1129
  # Update progress
1130
  processed_rows += 1
@@ -1586,7 +1603,7 @@ def main():
1586
  st.set_page_config(layout="wide")
1587
 
1588
  with st.sidebar:
1589
- st.title("::: AI-анализ мониторинга новостей (v.)4.6:::")
1590
  st.subheader("по материалам СКАН-ИНТЕРФАКС")
1591
 
1592
  model_choice = st.radio(
 
990
  df[col] = default_value
991
 
992
  # Copy all columns to processed_rows_df
993
+ processed_rows_df = pd.DataFrame(columns=list(required_columns.keys()))
994
+ #processed_rows_df = pd.DataFrame(columns=df.columns)
995
 
996
  # Deduplication
997
  original_count = len(df)
 
1009
  # In process_file function, replace the stop handling section:
1010
  if st.session_state.control.is_stopped():
1011
  st.warning("Обработку остановили")
 
 
 
 
 
1012
  if not processed_rows_df.empty:
1013
  try:
1014
+ # Ensure all required columns have values
1015
+ for col, default_value in required_columns.items():
1016
+ if col not in processed_rows_df.columns:
1017
+ processed_rows_df[col] = default_value
1018
+ else:
1019
+ # Fill NaN values with defaults
1020
+ processed_rows_df[col] = processed_rows_df[col].fillna(default_value)
1021
+
1022
+ # Copy original file columns that might be needed
1023
+ original_df = pd.read_excel(uploaded_file, sheet_name='Публикации')
1024
+ for col in original_df.columns:
1025
+ if col not in processed_rows_df.columns:
1026
+ processed_rows_df[col] = ''
1027
+
1028
+ # Create output file
1029
  output = create_output_file(processed_rows_df, uploaded_file, llm)
1030
  if output is not None:
1031
  st.download_button(
 
1035
  mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
1036
  key="partial_download"
1037
  )
1038
+ else:
1039
+ st.error("Не удалось создать файл с частичными результатами")
1040
  except Exception as e:
1041
+ st.error(f"Ошибка при создании файла с частичными результатами: {str(e)}\n{str(type(e))}")
1042
+ st.error(f"Processed rows: {len(processed_rows_df)}")
1043
+
1044
  return processed_rows_df
1045
+
1046
 
1047
  st.session_state.control.wait_if_paused()
1048
  if st.session_state.control.is_paused():
 
1139
  df.at[idx, 'Reasoning'] = reasoning
1140
 
1141
 
1142
+ row_data = {col: row.get(col, default_val) for col, default_val in required_columns.items()}
1143
+ processed_rows_df = pd.concat([processed_rows_df, pd.DataFrame([row_data])], ignore_index=True)
1144
+ #processed_rows_df = pd.concat([processed_rows_df, df.iloc[[idx]]], ignore_index=True)
1145
 
1146
  # Update progress
1147
  processed_rows += 1
 
1603
  st.set_page_config(layout="wide")
1604
 
1605
  with st.sidebar:
1606
+ st.title("::: AI-анализ мониторинга новостей (v.4.7):::")
1607
  st.subheader("по материалам СКАН-ИНТЕРФАКС")
1608
 
1609
  model_choice = st.radio(