fmab777 commited on
Commit
ac0ddee
·
verified ·
1 Parent(s): c72d246

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +25 -17
main.py CHANGED
@@ -99,16 +99,19 @@ APIFY_API_TOKEN = get_secret('APIFY_API_TOKEN')
99
  RAPIDAPI_KEY = get_secret('RAPIDAPI_KEY')
100
  WEBHOOK_SECRET = get_secret('WEBHOOK_SECRET')
101
 
102
- # --- Model Configurations (Specific April 2025) ---
103
- # Model Priority:
104
- # 1. Groq Llama 4 Scout
105
  # 2. Gemini 2.5 Pro Exp
106
  # 3. Gemini 2.0 Flash
107
  # 4. OpenRouter DeepSeek V3 Free
108
- GROQ_LLAMA4_MODEL = os.environ.get("GROQ_LLAMA4_MODEL", "meta-llama/llama-4-scout-17b-16e-instruct") # Specific Llama 4 model
 
 
109
  GEMINI_PRO_EXP_MODEL = os.environ.get("GEMINI_PRO_EXP_MODEL", "gemini-2.5-pro-exp-03-25")
110
- GEMINI_FLASH_MODEL = os.environ.get("GEMINI_FLASH_MODEL", "gemini-2.0-flash-001")
111
  OPENROUTER_DEEPSEEK_MODEL = os.environ.get("OPENROUTER_DEEPSEEK_MODEL", "deepseek/deepseek-chat-v3-0324:free") # Specific DeepSeek model
 
112
 
113
  APIFY_ACTOR_ID = os.environ.get("APIFY_ACTOR_ID", "1s7eXiaukVuOr4Ueg") # YT Default
114
  APIFY_STRUCTURED_YT_ACTOR_ID = "gpjTCWkGZS1lHc9pR" # YT Fallback 1 (New Structured Extractor)
@@ -123,18 +126,21 @@ _groq_enabled = _groq_sdk_available and bool(GROQ_API_KEY)
123
  _gemini_api_enabled = _gemini_sdk_available and bool(GEMINI_API_KEY)
124
  _openrouter_fallback_enabled = bool(OPENROUTER_API_KEY)
125
 
126
- if not _groq_enabled:
127
- if not _groq_sdk_available: logger.error("❌ ERROR: groq library missing. Groq (Llama 4) disabled.")
128
- elif not GROQ_API_KEY: logger.error("❌ ERROR: GROQ_API_KEY not found. Primary summarization (Groq Llama 4) will fail.")
129
  if not _gemini_api_enabled:
130
- if not _gemini_sdk_available: logger.warning("⚠️ WARNING: google-generativeai library missing. Gemini disabled.")
131
- elif not GEMINI_API_KEY: logger.warning("⚠️ WARNING: GEMINI_API_KEY not found. Gemini summarization fallbacks (2.5 Pro / 2.0 Flash) will fail.")
132
- if not _openrouter_fallback_enabled: logger.warning("⚠️ WARNING: OPENROUTER_API_KEY not found. Final fallback summarization (DeepSeek) will fail.")
 
 
 
 
 
133
 
134
- if not _groq_enabled and not _gemini_api_enabled and not _openrouter_fallback_enabled:
135
  logger.critical("❌ FATAL: No summarization models are configured or enabled. Bot cannot function.")
136
- elif not _groq_enabled:
137
- logger.warning("⚠️ Primary summarizer (Groq Llama 4) is disabled. Will start with Gemini 2.5 Pro.")
138
 
139
  # Scraper Availability Checks (Warnings only)
140
  if not RAPIDAPI_KEY: logger.warning("⚠️ WARNING: RAPIDAPI_KEY not found. RapidAPI scraping fallbacks (2 & 3) will be unavailable.")
@@ -144,13 +150,15 @@ if not SUPADATA_API_KEY: logger.warning("Optional secret 'SUPADATA_API_KEY' not
144
  if not WEBHOOK_SECRET: logger.info("Optional secret 'WEBHOOK_SECRET' not found. Webhook security disabled.")
145
 
146
  logger.info("Secret loading and configuration check finished.")
147
- logger.info(f"Summarizer 1 (Groq): {GROQ_LLAMA4_MODEL if _groq_enabled else 'DISABLED'}")
 
148
  logger.info(f"Summarizer 2 (Gemini Pro Exp): {GEMINI_PRO_EXP_MODEL if _gemini_api_enabled else 'DISABLED'}")
149
  logger.info(f"Summarizer 3 (Gemini Flash): {GEMINI_FLASH_MODEL if _gemini_api_enabled else 'DISABLED'}")
150
  logger.info(f"Summarizer 4 (OpenRouter): {OPENROUTER_DEEPSEEK_MODEL if _openrouter_fallback_enabled else 'DISABLED'}")
151
- # --- Updated Logging ---
 
152
  logger.info(f"Using Apify Actor (YT Fallback 1 - Structured): {APIFY_STRUCTURED_YT_ACTOR_ID}")
153
- logger.info(f"Using Apify Actor (YT Fallback 3 - Default): {APIFY_ACTOR_ID}") # Now fallback 3
154
  logger.info(f"Using Apify Actor (Web Scrape Fallback 4): {APIFY_CRAWLER_ACTOR_ID}")
155
  logger.info(f"Using Apify Actor (Web Scrape Fallback 5): {APIFY_TEXT_SCRAPER_ACTOR_ID}")
156
  # --- End Updated Logging ---
 
99
  RAPIDAPI_KEY = get_secret('RAPIDAPI_KEY')
100
  WEBHOOK_SECRET = get_secret('WEBHOOK_SECRET')
101
 
102
+ # --- Model Configurations (Specific April 2025 - Updated Order) ---
103
+ # New Model Priority:
104
+ # 1. Gemini 2.5 Flash Preview (NEW)
105
  # 2. Gemini 2.5 Pro Exp
106
  # 3. Gemini 2.0 Flash
107
  # 4. OpenRouter DeepSeek V3 Free
108
+ # 5. Groq Llama 4 Scout (Moved to Last)
109
+
110
+ GEMINI_FLASH_PREVIEW_MODEL = os.environ.get("GEMINI_FLASH_PREVIEW_MODEL", "gemini-2.5-flash-preview") # NEW Model
111
  GEMINI_PRO_EXP_MODEL = os.environ.get("GEMINI_PRO_EXP_MODEL", "gemini-2.5-pro-exp-03-25")
112
+ GEMINI_FLASH_MODEL = os.environ.get("GEMINI_FLASH_MODEL", "gemini-2.0-flash-001") # Original Flash model
113
  OPENROUTER_DEEPSEEK_MODEL = os.environ.get("OPENROUTER_DEEPSEEK_MODEL", "deepseek/deepseek-chat-v3-0324:free") # Specific DeepSeek model
114
+ GROQ_LLAMA4_MODEL = os.environ.get("GROQ_LLAMA4_MODEL", "meta-llama/llama-4-scout-17b-16e-instruct") # Specific Llama 4 model (Now Last)
115
 
116
  APIFY_ACTOR_ID = os.environ.get("APIFY_ACTOR_ID", "1s7eXiaukVuOr4Ueg") # YT Default
117
  APIFY_STRUCTURED_YT_ACTOR_ID = "gpjTCWkGZS1lHc9pR" # YT Fallback 1 (New Structured Extractor)
 
126
  _gemini_api_enabled = _gemini_sdk_available and bool(GEMINI_API_KEY)
127
  _openrouter_fallback_enabled = bool(OPENROUTER_API_KEY)
128
 
129
+ # Check for Gemini first now as it's the primary
 
 
130
  if not _gemini_api_enabled:
131
+ if not _gemini_sdk_available: logger.error(" ERROR: google-generativeai library missing. Primary summarization (Gemini) disabled.")
132
+ elif not GEMINI_API_KEY: logger.error(" ERROR: GEMINI_API_KEY not found. Primary summarization (Gemini) will fail.")
133
+ if not _openrouter_fallback_enabled:
134
+ logger.warning("⚠️ WARNING: OPENROUTER_API_KEY not found. Mid-tier fallback summarization (DeepSeek) will fail.")
135
+ if not _groq_enabled:
136
+ if not _groq_sdk_available: logger.warning("⚠️ WARNING: groq library missing. Groq (Llama 4) disabled.")
137
+ elif not GROQ_API_KEY: logger.warning("⚠️ WARNING: GROQ_API_KEY not found. Final fallback summarization (Groq Llama 4) will fail.")
138
+
139
 
140
+ if not _gemini_api_enabled and not _openrouter_fallback_enabled and not _groq_enabled:
141
  logger.critical("❌ FATAL: No summarization models are configured or enabled. Bot cannot function.")
142
+ elif not _gemini_api_enabled:
143
+ logger.warning("⚠️ Primary summarizers (Gemini) are disabled. Will attempt DeepSeek via OpenRouter.")
144
 
145
  # Scraper Availability Checks (Warnings only)
146
  if not RAPIDAPI_KEY: logger.warning("⚠️ WARNING: RAPIDAPI_KEY not found. RapidAPI scraping fallbacks (2 & 3) will be unavailable.")
 
150
  if not WEBHOOK_SECRET: logger.info("Optional secret 'WEBHOOK_SECRET' not found. Webhook security disabled.")
151
 
152
  logger.info("Secret loading and configuration check finished.")
153
+ # --- Log summarizers in the NEW order ---
154
+ logger.info(f"Summarizer 1 (Gemini Flash Preview): {GEMINI_FLASH_PREVIEW_MODEL if _gemini_api_enabled else 'DISABLED'}")
155
  logger.info(f"Summarizer 2 (Gemini Pro Exp): {GEMINI_PRO_EXP_MODEL if _gemini_api_enabled else 'DISABLED'}")
156
  logger.info(f"Summarizer 3 (Gemini Flash): {GEMINI_FLASH_MODEL if _gemini_api_enabled else 'DISABLED'}")
157
  logger.info(f"Summarizer 4 (OpenRouter): {OPENROUTER_DEEPSEEK_MODEL if _openrouter_fallback_enabled else 'DISABLED'}")
158
+ logger.info(f"Summarizer 5 (Groq): {GROQ_LLAMA4_MODEL if _groq_enabled else 'DISABLED'}")
159
+ # --- End Summarizer Logging ---
160
  logger.info(f"Using Apify Actor (YT Fallback 1 - Structured): {APIFY_STRUCTURED_YT_ACTOR_ID}")
161
+ logger.info(f"Using Apify Actor (YT Fallback 3 - Default): {APIFY_ACTOR_ID}")
162
  logger.info(f"Using Apify Actor (Web Scrape Fallback 4): {APIFY_CRAWLER_ACTOR_ID}")
163
  logger.info(f"Using Apify Actor (Web Scrape Fallback 5): {APIFY_TEXT_SCRAPER_ACTOR_ID}")
164
  # --- End Updated Logging ---