sbcesar commited on
Commit
43bb464
·
1 Parent(s): b50153a

Añadir config (sin secretos) para deploy

Browse files
Files changed (2) hide show
  1. .gitignore +1 -1
  2. config/nebius_config.py +99 -0
.gitignore CHANGED
@@ -12,7 +12,7 @@ env/
12
  .venv/
13
 
14
  # --- Configuración Sensible (IMPORTANTE) ---
15
- config/nebius_config.py
16
 
17
  # --- Archivos Generados ---
18
  *.pdf
 
12
  .venv/
13
 
14
  # --- Configuración Sensible (IMPORTANTE) ---
15
+ # config/nebius_config.py
16
 
17
  # --- Archivos Generados ---
18
  *.pdf
config/nebius_config.py ADDED
@@ -0,0 +1,99 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """
3
+ config/nebius_config.py
4
+
5
+ Configuración de Nebius API para Contract Guardian Agent
6
+ NUNCA COMMITEAR ESTE ARCHIVO (agregar a .gitignore)
7
+ """
8
+
9
+ import os
10
+ from dotenv import load_dotenv
11
+
12
+ # Cargar variables de entorno desde .env
13
+ load_dotenv()
14
+
15
+ # ============================================================
16
+ # NEBIUS API CONFIGURATION
17
+ # ============================================================
18
+
19
+ # URL base de Nebius (OpenAI-compatible)
20
+ NEBIUS_API_BASE_URL = "https://api.tokenfactory.nebius.com/v1/"
21
+
22
+ # API Key desde variable de entorno
23
+ NEBIUS_API_KEY = os.getenv("NEBIUS_API_KEY")
24
+
25
+ # Modelo elegido
26
+ NEBIUS_MODEL = "Qwen/Qwen3-30B-A3B-Thinking-2507"
27
+
28
+ # ============================================================
29
+ # PARÁMETROS LLM OPTIMIZATION
30
+ # ============================================================
31
+
32
+ # Temperatura: balance entre precisión y flexibilidad
33
+ NEBIUS_TEMPERATURE = 0.6
34
+
35
+ # Top P: diversidad de tokens
36
+ NEBIUS_TOP_P = 0.95
37
+
38
+ # Max tokens por respuesta
39
+ NEBIUS_MAX_TOKENS = 2048
40
+
41
+ # Timeout en segundos
42
+ NEBIUS_TIMEOUT = 30
43
+
44
+ # Streaming: usuario ve análisis en vivo
45
+ NEBIUS_STREAMING = True
46
+
47
+ # ============================================================
48
+ # CONFIGURACIÓN CONSOLIDADA
49
+ # ============================================================
50
+
51
+ NEBIUS_CONFIG = {
52
+ "model": NEBIUS_MODEL,
53
+ "temperature": NEBIUS_TEMPERATURE,
54
+ "top_p": NEBIUS_TOP_P,
55
+ "max_tokens": NEBIUS_MAX_TOKENS,
56
+ "stream": NEBIUS_STREAMING,
57
+ }
58
+
59
+ # ============================================================
60
+ # VALIDACIÓN
61
+ # ============================================================
62
+
63
+ def validate_config() -> bool:
64
+ """Valida que la configuración está lista."""
65
+
66
+ if not NEBIUS_API_KEY:
67
+ raise ValueError(
68
+ "❌ NEBIUS_API_KEY no está configurada. "
69
+ "Configura la variable de entorno NEBIUS_API_KEY en .env"
70
+ )
71
+
72
+ if not NEBIUS_API_BASE_URL:
73
+ raise ValueError(
74
+ "❌ NEBIUS_API_BASE_URL no está configurada."
75
+ )
76
+
77
+ return True
78
+
79
+ # ============================================================
80
+ # INFORMACIÓN DE DEBUGGING
81
+ # ============================================================
82
+
83
+ def print_config_info():
84
+ """Imprime config (sin secrets)."""
85
+ print("\n" + "="*60)
86
+ print("🔐 NEBIUS CONFIGURATION")
87
+ print("="*60)
88
+ print(f"Model: {NEBIUS_MODEL}")
89
+ print(f"Temperature: {NEBIUS_TEMPERATURE}")
90
+ print(f"Top P: {NEBIUS_TOP_P}")
91
+ print(f"Max Tokens: {NEBIUS_MAX_TOKENS}")
92
+ print(f"Streaming: {NEBIUS_STREAMING}")
93
+ print(f"API Base URL: {NEBIUS_API_BASE_URL}")
94
+ print(f"API Key: {'*' * 20}... (hidden)")
95
+ print("="*60 + "\n")
96
+
97
+ if __name__ == "__main__":
98
+ validate_config()
99
+ print_config_info()