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(
|