Spaces:
Running
Running
Update main.py
Browse files
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.
|
105 |
# 2. Gemini 2.5 Pro Exp
|
106 |
# 3. Gemini 2.0 Flash
|
107 |
# 4. OpenRouter DeepSeek V3 Free
|
108 |
-
|
|
|
|
|
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 |
-
|
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.
|
131 |
-
elif not GEMINI_API_KEY: logger.
|
132 |
-
if not _openrouter_fallback_enabled:
|
|
|
|
|
|
|
|
|
|
|
133 |
|
134 |
-
if not
|
135 |
logger.critical("❌ FATAL: No summarization models are configured or enabled. Bot cannot function.")
|
136 |
-
elif not
|
137 |
-
logger.warning("⚠️ Primary
|
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 |
-
|
|
|
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 |
-
|
|
|
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}")
|
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 ---
|