omniverse1 commited on
Commit
7b68220
·
verified ·
1 Parent(s): 5009c8a

update app

Browse files
Files changed (1) hide show
  1. app.py +5 -9
app.py CHANGED
@@ -3,7 +3,7 @@ import yfinance as yf
3
  import pandas as pd
4
  import numpy as np
5
  import torch
6
- from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, T5TokenizerFast
7
  from datetime import datetime, timedelta
8
  import plotly.graph_objects as go
9
  import plotly.express as px
@@ -29,20 +29,15 @@ from config import IDX_STOCKS, TECHNICAL_INDICATORS, PREDICTION_CONFIG
29
  # Load Chronos-Bolt model
30
  @spaces.GPU(duration=120)
31
  def load_model():
32
- """Load the Amazon Chronos-Bolt model for time series forecasting"""
33
- # FIX: Use AutoModelForSeq2SeqLM and trust_remote_code=True (correct for T5-based model)
34
  model = AutoModelForSeq2SeqLM.from_pretrained(
35
  "amazon/chronos-bolt-base",
36
  torch_dtype=torch.bfloat16,
37
  device_map="auto",
38
  trust_remote_code=True
39
  )
40
- # FINAL FIX: Explicitly use T5TokenizerFast (Fast Tokenizer) with trust_remote_code=True.
41
- # This bypasses the T5Tokenizer (Slow Tokenizer) fallback logic that caused the TypeError: not a string.
42
- tokenizer = T5TokenizerFast.from_pretrained(
43
- "amazon/chronos-bolt-base",
44
- trust_remote_code=True
45
- )
46
  return model, tokenizer
47
 
48
  # Initialize model
@@ -78,6 +73,7 @@ def analyze_stock(symbol, prediction_days=30):
78
  signals = generate_trading_signals(data, indicators)
79
 
80
  # Make predictions using Chronos-Bolt
 
81
  predictions = predict_prices(data, model, tokenizer, prediction_days)
82
 
83
  # Create charts
 
3
  import pandas as pd
4
  import numpy as np
5
  import torch
6
+ from transformers import AutoModelForSeq2SeqLM, AutoTokenizer # Keep import for dependency check
7
  from datetime import datetime, timedelta
8
  import plotly.graph_objects as go
9
  import plotly.express as px
 
29
  # Load Chronos-Bolt model
30
  @spaces.GPU(duration=120)
31
  def load_model():
32
+ """Load the Amazon Chronos-Bolt model for time series forecasting. Tokenizer loading is skipped to bypass fatal error."""
 
33
  model = AutoModelForSeq2SeqLM.from_pretrained(
34
  "amazon/chronos-bolt-base",
35
  torch_dtype=torch.bfloat16,
36
  device_map="auto",
37
  trust_remote_code=True
38
  )
39
+ # CRITICAL FIX: Skip tokenizer loading (it is not used in predict_prices anyway)
40
+ tokenizer = None
 
 
 
 
41
  return model, tokenizer
42
 
43
  # Initialize model
 
73
  signals = generate_trading_signals(data, indicators)
74
 
75
  # Make predictions using Chronos-Bolt
76
+ # Passing the (now None) tokenizer argument to maintain compatibility with utils.py signature
77
  predictions = predict_prices(data, model, tokenizer, prediction_days)
78
 
79
  # Create charts