cyberandy commited on
Commit
deaf693
·
verified ·
1 Parent(s): 2c3e4a6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -5
app.py CHANGED
@@ -62,14 +62,28 @@ class MarketingAnalyzer:
62
  def _initialize_model(self, model_size: str):
63
  """Initialize Gemma model and tokenizer"""
64
  try:
 
65
  model_name = f"google/gemma-{model_size}"
66
- self.model = AutoModelForCausalLM.from_pretrained(model_name)
67
- self.tokenizer = AutoTokenizer.from_pretrained(model_name)
68
 
69
- self.model = self.model.to(self.device)
70
- self.model.eval()
 
 
 
 
 
 
 
 
 
 
 
 
 
71
 
 
72
  logger.info(f"Initialized model: {model_name}")
 
73
  except Exception as e:
74
  logger.error(f"Error initializing model: {str(e)}")
75
  raise
@@ -198,7 +212,18 @@ class MarketingAnalyzer:
198
 
199
  def create_gradio_interface():
200
  """Create Gradio interface for marketing analysis"""
201
- analyzer = MarketingAnalyzer()
 
 
 
 
 
 
 
 
 
 
 
202
 
203
  def analyze(text):
204
  results = analyzer.analyze_content(text)
 
62
  def _initialize_model(self, model_size: str):
63
  """Initialize Gemma model and tokenizer"""
64
  try:
65
+ import os
66
  model_name = f"google/gemma-{model_size}"
 
 
67
 
68
+ # Access HF token from environment variable
69
+ hf_token = os.environ.get('HF_TOKEN')
70
+ if not hf_token:
71
+ logger.warning("HF_TOKEN not found in environment variables")
72
+
73
+ # Initialize model and tokenizer with token
74
+ self.model = AutoModelForCausalLM.from_pretrained(
75
+ model_name,
76
+ token=hf_token,
77
+ device_map='auto' # Automatically handle device placement
78
+ )
79
+ self.tokenizer = AutoTokenizer.from_pretrained(
80
+ model_name,
81
+ token=hf_token
82
+ )
83
 
84
+ self.model.eval() # Set to evaluation mode
85
  logger.info(f"Initialized model: {model_name}")
86
+
87
  except Exception as e:
88
  logger.error(f"Error initializing model: {str(e)}")
89
  raise
 
212
 
213
  def create_gradio_interface():
214
  """Create Gradio interface for marketing analysis"""
215
+ try:
216
+ analyzer = MarketingAnalyzer()
217
+ except Exception as e:
218
+ logger.error(f"Failed to initialize analyzer: {str(e)}")
219
+ # Provide a more graceful fallback or error message in the interface
220
+ return gr.Interface(
221
+ fn=lambda x: "Error: Failed to initialize model. Please check authentication.",
222
+ inputs=gr.Textbox(),
223
+ outputs=gr.Textbox(),
224
+ title="Marketing Content Analyzer (Error)",
225
+ description="Failed to initialize. Please check if HF_TOKEN is properly set."
226
+ )
227
 
228
  def analyze(text):
229
  results = analyzer.analyze_content(text)