pentarosarium commited on
Commit
a5e32d1
·
1 Parent(s): 367d42f

progress more 66

Browse files
Files changed (1) hide show
  1. app.py +29 -38
app.py CHANGED
@@ -24,6 +24,8 @@ from accelerate import init_empty_weights
24
  import logging
25
  import os
26
  from transformers import MarianMTModel, MarianTokenizer
 
 
27
 
28
  class TranslationModel:
29
  def __init__(self, model_name="Helsinki-NLP/opus-mt-ru-en"):
@@ -78,20 +80,6 @@ rubert2 = pipeline("sentiment-analysis", model = "blanchefort/rubert-base-cased-
78
 
79
 
80
 
81
- def authenticate_huggingface():
82
- # Try to get the token from environment variable first
83
- hf_token = os.environ.get('HF_TOKEN')
84
-
85
- # If not in environment, try Streamlit secrets
86
- if not hf_token and 'hf_token' in st.secrets:
87
- hf_token = st.secrets['hf_token']
88
-
89
- if hf_token:
90
- login(token=hf_token)
91
- return True
92
- else:
93
- st.error("Hugging Face token not found. Please set HF_TOKEN environment variable or add it to Streamlit secrets.")
94
- return False
95
 
96
  @st.cache_resource
97
  def load_model(model_id):
@@ -107,24 +95,24 @@ def load_model(model_id):
107
 
108
 
109
  def init_langchain_llm():
110
- model_id = "gpt2" # Using the publicly available GPT-2 model
111
- tokenizer = transformers.AutoTokenizer.from_pretrained(model_id)
112
- model = transformers.AutoModelForCausalLM.from_pretrained(model_id)
113
-
114
- pipeline = transformers.pipeline(
115
- "text-generation",
116
- model=model,
117
- tokenizer=tokenizer,
118
- torch_dtype=torch.float32,
119
- device_map="auto",
120
- )
121
-
122
- def gpt2_wrapper(prompt):
123
- result = pipeline(prompt, max_new_tokens=256, do_sample=True, temperature=0.7)
124
- return result[0]['generated_text']
125
-
126
- llm = HuggingFacePipeline(pipeline=gpt2_wrapper)
127
- return llm
128
 
129
 
130
  def estimate_impact(llm, news_text, entity):
@@ -505,7 +493,7 @@ def create_output_file(df, uploaded_file, analysis_df):
505
  return output
506
 
507
  def main():
508
- st.title("... приступим к анализу... версия 61")
509
 
510
  # Initialize session state
511
  if 'processed_df' not in st.session_state:
@@ -563,11 +551,14 @@ def main():
563
  if st.button("Что скажет нейросеть?"):
564
  st.info("Анализ нейросетью начался. Это может занять некоторое время...")
565
  llm = init_langchain_llm()
566
- df_with_llm = process_file_with_llm(st.session_state.processed_df, llm)
567
- output_with_llm = create_output_file_with_llm(df_with_llm, uploaded_file, st.session_state.analysis_df)
568
- st.success("Анализ нейросетью завершен!")
569
- st.session_state.llm_analyzed = True
570
- st.session_state.output_with_llm = output_with_llm
 
 
 
571
 
572
  if st.session_state.llm_analyzed:
573
  st.download_button(
 
24
  import logging
25
  import os
26
  from transformers import MarianMTModel, MarianTokenizer
27
+ from langchain.chat_models import ChatOpenAI
28
+
29
 
30
  class TranslationModel:
31
  def __init__(self, model_name="Helsinki-NLP/opus-mt-ru-en"):
 
80
 
81
 
82
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
 
84
  @st.cache_resource
85
  def load_model(model_id):
 
95
 
96
 
97
  def init_langchain_llm():
98
+ try:
99
+ # Try to get the Groq API key from Hugging Face secrets
100
+ if 'groq_key' in st.secrets:
101
+ groq_api_key = st.secrets['groq_key']
102
+ else:
103
+ st.error("Groq API key not found in Hugging Face secrets. Please add it with the key 'groq_key'.")
104
+ st.stop()
105
+
106
+ llm = ChatOpenAI(
107
+ base_url="https://api.groq.com/openai/v1",
108
+ model="llama-3.1-70b-versatile",
109
+ api_key=groq_api_key,
110
+ temperature=0.0
111
+ )
112
+ return llm
113
+ except Exception as e:
114
+ st.error(f"Error initializing the Groq LLM: {str(e)}")
115
+ st.stop()
116
 
117
 
118
  def estimate_impact(llm, news_text, entity):
 
493
  return output
494
 
495
  def main():
496
+ st.title("... приступим к анализу... версия 66")
497
 
498
  # Initialize session state
499
  if 'processed_df' not in st.session_state:
 
551
  if st.button("Что скажет нейросеть?"):
552
  st.info("Анализ нейросетью начался. Это может занять некоторое время...")
553
  llm = init_langchain_llm()
554
+ if llm:
555
+ df_with_llm = process_file_with_llm(st.session_state.processed_df, llm)
556
+ output_with_llm = create_output_file_with_llm(df_with_llm, uploaded_file, st.session_state.analysis_df)
557
+ st.success("Анализ нейросетью завершен!")
558
+ st.session_state.llm_analyzed = True
559
+ st.session_state.output_with_llm = output_with_llm
560
+ else:
561
+ st.error("Не удалось инициализировать нейросеть. Пожалуйста, проверьте настройки и попробуйте снова.")
562
 
563
  if st.session_state.llm_analyzed:
564
  st.download_button(