pentarosarium commited on
Commit
1059c86
·
1 Parent(s): 913a17b

3.39 hard coded trans

Browse files
Files changed (1) hide show
  1. app.py +10 -17
app.py CHANGED
@@ -64,12 +64,12 @@ class TranslationSystem:
64
  st.warning(f"Translation error: {str(e)}. Using original text.")
65
  return text
66
 
67
- def process_file(uploaded_file, model_choice):
68
  df = None
69
  try:
70
  df = pd.read_excel(uploaded_file, sheet_name='Публикации')
71
  llm = init_langchain_llm(model_choice)
72
- translator = TranslationSystem(batch_size=5)
73
 
74
  # Validate required columns
75
  required_columns = ['Объект', 'Заголовок', 'Выдержки из текста']
@@ -115,7 +115,7 @@ def process_file(uploaded_file, model_choice):
115
  sentiment = analyze_sentiment(translated_text)
116
  df.at[idx, 'Sentiment'] = sentiment
117
 
118
- # Event detection
119
  event_type, event_summary = detect_events(
120
  llm,
121
  row['Выдержки из текста'],
@@ -147,7 +147,7 @@ def process_file(uploaded_file, model_choice):
147
  st.warning(f"Ошибка при обработке новости {idx + 1}: {str(e)}")
148
  continue
149
 
150
- # Small delay between items to avoid rate limits
151
  time.sleep(0.5)
152
 
153
  # Delay between batches
@@ -159,7 +159,6 @@ def process_file(uploaded_file, model_choice):
159
  st.error(f"❌ Ошибка при обработке файла: {str(e)}")
160
  return df if df is not None else None
161
 
162
-
163
  def translate_reasoning_to_russian(llm, text):
164
  template = """
165
  Translate this English explanation to Russian, maintaining a formal business style:
@@ -552,10 +551,9 @@ def create_output_file(df, uploaded_file, llm):
552
  wb.save(output)
553
  output.seek(0)
554
  return output
555
-
556
  def main():
557
  with st.sidebar:
558
- st.title("::: AI-анализ мониторинга новостей (v.3.38 ):::")
559
  st.subheader("по материалам СКАН-ИНТЕРФАКС ")
560
 
561
  model_choice = st.radio(
@@ -564,11 +562,12 @@ def main():
564
  key="model_selector"
565
  )
566
 
 
567
  translation_method = st.radio(
568
  "Выберите метод перевода:",
569
  ["googletrans", "llm"],
570
  key="translation_selector",
571
- help="googletrans - быстрее, llm - качественнее, но медленнее"
572
  )
573
 
574
  st.markdown(
@@ -617,18 +616,12 @@ def main():
617
  uploaded_file = st.sidebar.file_uploader("Выбирайте Excel-файл", type="xlsx", key="unique_file_uploader")
618
 
619
  if uploaded_file is not None and st.session_state.processed_df is None:
620
- start_time = time.time()
621
-
622
- # Initialize LLM with selected model
623
- llm = init_langchain_llm(model_choice)
624
-
625
- # Process file with selected translation method
626
  st.session_state.processed_df = process_file(
627
- uploaded_file,
628
  model_choice,
629
- translation_method
630
  )
631
-
632
  st.subheader("Предпросмотр данных")
633
  preview_df = st.session_state.processed_df[['Объект', 'Заголовок', 'Sentiment', 'Impact']].head()
634
  st.dataframe(preview_df)
 
64
  st.warning(f"Translation error: {str(e)}. Using original text.")
65
  return text
66
 
67
+ def process_file(uploaded_file, model_choice, translation_method=None): # Added translation_method parameter with default None
68
  df = None
69
  try:
70
  df = pd.read_excel(uploaded_file, sheet_name='Публикации')
71
  llm = init_langchain_llm(model_choice)
72
+ translator = TranslationSystem(batch_size=5) # We'll use deep-translator regardless of translation_method
73
 
74
  # Validate required columns
75
  required_columns = ['Объект', 'Заголовок', 'Выдержки из текста']
 
115
  sentiment = analyze_sentiment(translated_text)
116
  df.at[idx, 'Sentiment'] = sentiment
117
 
118
+ # Event detection with rate limit handling
119
  event_type, event_summary = detect_events(
120
  llm,
121
  row['Выдержки из текста'],
 
147
  st.warning(f"Ошибка при обработке новости {idx + 1}: {str(e)}")
148
  continue
149
 
150
+ # Small delay between items
151
  time.sleep(0.5)
152
 
153
  # Delay between batches
 
159
  st.error(f"❌ Ошибка при обработке файла: {str(e)}")
160
  return df if df is not None else None
161
 
 
162
  def translate_reasoning_to_russian(llm, text):
163
  template = """
164
  Translate this English explanation to Russian, maintaining a formal business style:
 
551
  wb.save(output)
552
  output.seek(0)
553
  return output
 
554
  def main():
555
  with st.sidebar:
556
+ st.title("::: AI-анализ мониторинга новостей (v.3.39 ):::")
557
  st.subheader("по материалам СКАН-ИНТЕРФАКС ")
558
 
559
  model_choice = st.radio(
 
562
  key="model_selector"
563
  )
564
 
565
+ # We'll keep this for compatibility but it won't affect the translation method
566
  translation_method = st.radio(
567
  "Выберите метод перевода:",
568
  ["googletrans", "llm"],
569
  key="translation_selector",
570
+ help="Используется deep-translator независимо от выбора"
571
  )
572
 
573
  st.markdown(
 
616
  uploaded_file = st.sidebar.file_uploader("Выбирайте Excel-файл", type="xlsx", key="unique_file_uploader")
617
 
618
  if uploaded_file is not None and st.session_state.processed_df is None:
 
 
 
 
 
 
619
  st.session_state.processed_df = process_file(
620
+ uploaded_file,
621
  model_choice,
622
+ translation_method # This parameter won't affect the translation method but keeps the interface consistent
623
  )
624
+
625
  st.subheader("Предпросмотр данных")
626
  preview_df = st.session_state.processed_df[['Объект', 'Заголовок', 'Sentiment', 'Impact']].head()
627
  st.dataframe(preview_df)