Spaces:
Running
Running
Commit
·
54d4971
1
Parent(s):
9bce4d4
4.8
Browse files
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=
|
|
|
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,
|
|
|
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.
|
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(
|