akra35567 commited on
Commit
d1db412
·
verified ·
1 Parent(s): f0979c5

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +63 -11
main.py CHANGED
@@ -1,9 +1,10 @@
1
- # main.py — AKIRA V19 ULTIMATE (Dezembro 2025)
2
  """
3
- Entry point Flask API para Akira IA
4
  - Multi-API com fallback (6 provedores)
5
  - Suporte a .env para secrets
6
  - Otimizado para Hugging Face Spaces
 
7
  """
8
  import os
9
  import sys
@@ -57,14 +58,16 @@ def index():
57
 
58
  return f'''
59
  <div style="font-family: 'Courier New', monospace; text-align: center; margin: 50px; background: #000; color: #0f0; padding: 40px; border: 2px solid #0f0;">
60
- <h1>🔥 AKIRA V19 ULTIMATE ONLINE! 🔥</h1>
61
  <p><strong>Multi-API System com 6 Provedores</strong></p>
62
  <p><strong>APIs Configuradas:</strong> {apis_texto}</p>
63
  <p><strong>Respostas:</strong> &lt;5s (média)</p>
64
  <p><strong>Endpoint:</strong> POST /api/akira</p>
 
 
65
  <hr style="border-color: #0f0;">
66
  <p><em>Luanda, Angola — Softedge Corporation</em></p>
67
- <p style="font-size: 0.8em; color: #0a0;">Isaac Quarenta | Zero Limitações Éticas</p>
68
  </div>
69
  ''', 200
70
 
@@ -80,8 +83,16 @@ def status():
80
 
81
  status_info = {
82
  "timestamp": datetime.datetime.now().isoformat(),
 
83
  "apis_disponiveis": [],
84
- "fallback_order": config.API_FALLBACK_ORDER
 
 
 
 
 
 
 
85
  }
86
 
87
  # Verifica cada API
@@ -112,10 +123,15 @@ try:
112
  else:
113
  logger.warning("validate_config não encontrado em config.py")
114
 
115
- # Inicia API
116
- akira_api = AkiraAPI(config)
117
- app.register_blueprint(akira_api.api, url_prefix="/api")
118
- logger.success("✓ API V19 integrada com sucesso → /api/akira")
 
 
 
 
 
119
 
120
  # Log de APIs configuradas
121
  apis_ok = []
@@ -133,20 +149,49 @@ try:
133
  apis_ok.append("HuggingFace")
134
 
135
  if apis_ok:
136
- logger.info(f"APIs configuradas: {', '.join(apis_ok)}")
137
  else:
138
  logger.warning("⚠️ NENHUMA API CONFIGURADA! Configure pelo menos Mistral + Gemini")
139
 
 
 
 
 
 
 
140
  except Exception as e:
141
  logger.critical(f"❌ FALHA AO CARREGAR API: {e}")
142
  import traceback
143
  logger.critical(traceback.format_exc())
144
  sys.exit(1)
145
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  # === INÍCIO DO SERVIDOR ===
147
  if __name__ == "__main__":
148
  logger.info("=" * 80)
149
- logger.info("🔥 AKIRA V19 ULTIMATE — SISTEMA MULTI-API 🔥")
150
  logger.info("=" * 80)
151
  logger.info(f"Data/hora local: {datetime.datetime.now().strftime('%d/%m/%Y %H:%M:%S')}")
152
  logger.info(f"Servidor: http://{config.API_HOST}:{config.API_PORT}")
@@ -154,8 +199,15 @@ if __name__ == "__main__":
154
  logger.info(" - GET / → Página inicial")
155
  logger.info(" - GET /health → Health check")
156
  logger.info(" - GET /status → Status das APIs")
 
157
  logger.info(" - POST /api/akira → Endpoint principal")
158
  logger.info("=" * 80)
 
 
 
 
 
 
159
  logger.info("Aguardando conexões... (Ctrl+C para parar)")
160
 
161
  # Modo de execução
 
1
+ # main.py — AKIRA V21 ULTIMATE CORRIGIDO (Dezembro 2025)
2
  """
3
+ Entry point Flask API para Akira IA V21
4
  - Multi-API com fallback (6 provedores)
5
  - Suporte a .env para secrets
6
  - Otimizado para Hugging Face Spaces
7
+ - CORREÇÃO: AkiraAPI não aceita parâmetros no __init__
8
  """
9
  import os
10
  import sys
 
58
 
59
  return f'''
60
  <div style="font-family: 'Courier New', monospace; text-align: center; margin: 50px; background: #000; color: #0f0; padding: 40px; border: 2px solid #0f0;">
61
+ <h1>🔥 AKIRA V21 ULTIMATE ONLINE! 🔥</h1>
62
  <p><strong>Multi-API System com 6 Provedores</strong></p>
63
  <p><strong>APIs Configuradas:</strong> {apis_texto}</p>
64
  <p><strong>Respostas:</strong> &lt;5s (média)</p>
65
  <p><strong>Endpoint:</strong> POST /api/akira</p>
66
+ <p><strong>Compatibilidade:</strong> ✅ Total com index.js V21</p>
67
+ <p><strong>Contexto:</strong> ✅ Otimizado (sem repetições)</p>
68
  <hr style="border-color: #0f0;">
69
  <p><em>Luanda, Angola — Softedge Corporation</em></p>
70
+ <p style="font-size: 0.8em; color: #0a0;">Isaac Quarenta | Personalidade BRUTAL sem filtro</p>
71
  </div>
72
  ''', 200
73
 
 
83
 
84
  status_info = {
85
  "timestamp": datetime.datetime.now().isoformat(),
86
+ "versao": "V21 ULTIMATE (Dezembro 2025)",
87
  "apis_disponiveis": [],
88
+ "fallback_order": config.API_FALLBACK_ORDER,
89
+ "compatibilidade": {
90
+ "index_js": True,
91
+ "reply_info": True,
92
+ "contexto_otimizado": True,
93
+ "audio_stt": True,
94
+ "tts": True
95
+ }
96
  }
97
 
98
  # Verifica cada API
 
123
  else:
124
  logger.warning("validate_config não encontrado em config.py")
125
 
126
+ # 🔥 CORREÇÃO CRÍTICA: AkiraAPI não aceita parâmetros
127
+ # Versão CORRETA:
128
+ akira_api = AkiraAPI() # ✅ SEM PARÂMETROS!
129
+
130
+ # Versão ERRADA (causa o erro):
131
+ # akira_api = AkiraAPI(config) # ❌ NÃO FAÇA ISSO!
132
+
133
+ app.register_blueprint(akira_api.get_blueprint(), url_prefix="/api")
134
+ logger.success("✓ API V21 integrada com sucesso → /api/akira")
135
 
136
  # Log de APIs configuradas
137
  apis_ok = []
 
149
  apis_ok.append("HuggingFace")
150
 
151
  if apis_ok:
152
+ logger.info(f"APIs configuradas: {', '.join(apis_ok)}")
153
  else:
154
  logger.warning("⚠️ NENHUMA API CONFIGURADA! Configure pelo menos Mistral + Gemini")
155
 
156
+ except ImportError as e:
157
+ logger.critical(f"❌ ERRO DE IMPORTAÇÃO: {e}")
158
+ logger.critical("Certifique-se de que todos os módulos estão instalados:")
159
+ logger.critical("pip install flask loguru python-dotenv requests")
160
+ sys.exit(1)
161
+
162
  except Exception as e:
163
  logger.critical(f"❌ FALHA AO CARREGAR API: {e}")
164
  import traceback
165
  logger.critical(traceback.format_exc())
166
  sys.exit(1)
167
 
168
+ # === ROTA DE FALLBACK (para debugging) ===
169
+ @app.route("/debug")
170
+ def debug():
171
+ """Página de debugging para verificar configurações"""
172
+ import modules.config as config
173
+
174
+ debug_info = {
175
+ "python_version": sys.version,
176
+ "apis_keys_present": {
177
+ "MISTRAL_API_KEY": bool(config.MISTRAL_API_KEY),
178
+ "GEMINI_API_KEY": bool(config.GEMINI_API_KEY),
179
+ "GROQ_API_KEY": bool(config.GROQ_API_KEY),
180
+ "COHERE_API_KEY": bool(config.COHERE_API_KEY),
181
+ "TOGETHER_API_KEY": bool(config.TOGETHER_API_KEY),
182
+ "HF_API_KEY": bool(config.HF_API_KEY)
183
+ },
184
+ "working_directory": os.getcwd(),
185
+ "files_in_modules": os.listdir("modules") if os.path.exists("modules") else []
186
+ }
187
+
188
+ from flask import jsonify
189
+ return jsonify(debug_info), 200
190
+
191
  # === INÍCIO DO SERVIDOR ===
192
  if __name__ == "__main__":
193
  logger.info("=" * 80)
194
+ logger.info("🔥 AKIRA V21 ULTIMATE — SISTEMA MULTI-API 🔥")
195
  logger.info("=" * 80)
196
  logger.info(f"Data/hora local: {datetime.datetime.now().strftime('%d/%m/%Y %H:%M:%S')}")
197
  logger.info(f"Servidor: http://{config.API_HOST}:{config.API_PORT}")
 
199
  logger.info(" - GET / → Página inicial")
200
  logger.info(" - GET /health → Health check")
201
  logger.info(" - GET /status → Status das APIs")
202
+ logger.info(" - GET /debug → Debugging")
203
  logger.info(" - POST /api/akira → Endpoint principal")
204
  logger.info("=" * 80)
205
+ logger.info("✅ Sistema pronto!")
206
+ logger.info("✅ Contexto otimizado (sem repetições)")
207
+ logger.info("✅ Compatibilidade total com index.js V21")
208
+ logger.info("✅ STT Deepgram + TTS Google")
209
+ logger.info("✅ Comandos restritos: Apenas Isaac Quarenta")
210
+ logger.info("=" * 80)
211
  logger.info("Aguardando conexões... (Ctrl+C para parar)")
212
 
213
  # Modo de execução