Moibe commited on
Commit
30320f7
·
1 Parent(s): aff98ad

Agrego prompt eval

Browse files
Files changed (4) hide show
  1. add_prompt_eval.py +70 -0
  2. funciones.py +15 -12
  3. imagen_log.sql +1 -0
  4. models.py +2 -0
add_prompt_eval.py ADDED
@@ -0,0 +1,70 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env python3
2
+ """Script para agregar el campo prompt_eval a la tabla registro"""
3
+
4
+ from connection import get_connection
5
+ import sys
6
+
7
+ def agregar_prompt_eval():
8
+ """Agrega la columna prompt_eval a la tabla registro"""
9
+
10
+ conn = get_connection()
11
+
12
+ if not conn:
13
+ print("❌ Error: No se pudo conectar a la base de datos")
14
+ sys.exit(1)
15
+
16
+ try:
17
+ cursor = conn.cursor()
18
+
19
+ print("🔧 Agregando campo prompt_eval a la tabla...")
20
+ print("-" * 60)
21
+
22
+ # Verificar si la columna ya existe
23
+ cursor.execute("""
24
+ SELECT COLUMN_NAME
25
+ FROM INFORMATION_SCHEMA.COLUMNS
26
+ WHERE TABLE_NAME = 'registro'
27
+ AND COLUMN_NAME = 'prompt_eval'
28
+ """)
29
+
30
+ if cursor.fetchone():
31
+ print("⚠️ El campo 'prompt_eval' ya existe en la tabla")
32
+ cursor.close()
33
+ conn.close()
34
+ return
35
+
36
+ # Agregar la columna después de 'prompt'
37
+ sql = """
38
+ ALTER TABLE `registro`
39
+ ADD COLUMN `prompt_eval` VARCHAR(255) COMMENT 'Evaluación del prompt'
40
+ AFTER `prompt`
41
+ """
42
+
43
+ cursor.execute(sql)
44
+ conn.commit()
45
+
46
+ print("✅ Campo 'prompt_eval' agregado correctamente")
47
+
48
+ # Verificar estructura
49
+ cursor.execute("DESCRIBE `registro`")
50
+ columnas = cursor.fetchall()
51
+
52
+ print("\n📋 Estructura actualizada de la tabla:")
53
+ print("-" * 60)
54
+ for col in columnas:
55
+ print(f" {col[0]:<20} {col[1]:<30} {col[2]}")
56
+
57
+ cursor.close()
58
+ conn.close()
59
+
60
+ print("\n✅ Tabla actualizada correctamente")
61
+
62
+ except Exception as e:
63
+ print(f"❌ Error: {e}")
64
+ sys.exit(1)
65
+
66
+ if __name__ == "__main__":
67
+ print("\n🔄 Actualizando estructura de BD...")
68
+ print("=" * 60)
69
+ agregar_prompt_eval()
70
+ print("=" * 60)
funciones.py CHANGED
@@ -38,23 +38,24 @@ def crear_registro(datos: RegistroRequest) -> dict:
38
  fecha_registro = datos.fecha_registro or datetime.now()
39
  usos = datos.usos or 0
40
  prompt = datos.prompt
 
41
  proveedor = datos.proveedor
42
  seed = datos.seed
43
 
44
- logger.info(f"📊 Datos a insertar - UID: {uid}, Usuario: {display_name}, País: {pais}, Email: {correo}, Prompt: {prompt}, Proveedor: {proveedor}")
45
 
46
  # Insertar en la BD
47
  cursor = conn.cursor()
48
 
49
  sql = """
50
  INSERT INTO `registro`
51
- (uid, display_name, pais, correo, fecha_registro, usos, prompt, proveedor, seed)
52
- VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)
53
  """
54
 
55
  valores = (
56
  uid, display_name, pais, correo, fecha_registro,
57
- usos, prompt, proveedor, seed
58
  )
59
 
60
  cursor.execute(sql, valores)
@@ -70,7 +71,7 @@ def crear_registro(datos: RegistroRequest) -> dict:
70
  cursor.execute(
71
  """
72
  SELECT id, uid, display_name, pais, correo, fecha_registro,
73
- usos, prompt, proveedor, seed, created_at
74
  FROM `registro`
75
  WHERE id = %s
76
  """,
@@ -94,9 +95,10 @@ def crear_registro(datos: RegistroRequest) -> dict:
94
  "fecha_registro": registro[5],
95
  "usos": registro[6],
96
  "prompt": registro[7],
97
- "proveedor": registro[8],
98
- "seed": registro[9],
99
- "created_at": registro[10]
 
100
  }
101
  }
102
  else:
@@ -148,7 +150,7 @@ def obtener_registros(limit: int = 10, offset: int = 0) -> dict:
148
  cursor.execute(
149
  """
150
  SELECT id, uid, display_name, pais, correo, fecha_registro,
151
- usos, prompt, proveedor, seed, created_at
152
  FROM `registro`
153
  ORDER BY created_at DESC
154
  LIMIT %s OFFSET %s
@@ -173,9 +175,10 @@ def obtener_registros(limit: int = 10, offset: int = 0) -> dict:
173
  "fecha_registro": reg[5],
174
  "usos": reg[6],
175
  "prompt": reg[7],
176
- "proveedor": reg[8],
177
- "seed": reg[9],
178
- "created_at": reg[10]
 
179
  })
180
 
181
  logger.info(f"📈 Retornando {len(datos)} registros")
 
38
  fecha_registro = datos.fecha_registro or datetime.now()
39
  usos = datos.usos or 0
40
  prompt = datos.prompt
41
+ prompt_eval = datos.prompt_eval
42
  proveedor = datos.proveedor
43
  seed = datos.seed
44
 
45
+ logger.info(f"📊 Datos a insertar - UID: {uid}, Usuario: {display_name}, País: {pais}, Email: {correo}, Prompt: {prompt}, Prompt Eval: {prompt_eval}, Proveedor: {proveedor}")
46
 
47
  # Insertar en la BD
48
  cursor = conn.cursor()
49
 
50
  sql = """
51
  INSERT INTO `registro`
52
+ (uid, display_name, pais, correo, fecha_registro, usos, prompt, prompt_eval, proveedor, seed)
53
+ VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s)
54
  """
55
 
56
  valores = (
57
  uid, display_name, pais, correo, fecha_registro,
58
+ usos, prompt, prompt_eval, proveedor, seed
59
  )
60
 
61
  cursor.execute(sql, valores)
 
71
  cursor.execute(
72
  """
73
  SELECT id, uid, display_name, pais, correo, fecha_registro,
74
+ usos, prompt, prompt_eval, proveedor, seed, created_at
75
  FROM `registro`
76
  WHERE id = %s
77
  """,
 
95
  "fecha_registro": registro[5],
96
  "usos": registro[6],
97
  "prompt": registro[7],
98
+ "prompt_eval": registro[8],
99
+ "proveedor": registro[9],
100
+ "seed": registro[10],
101
+ "created_at": registro[11]
102
  }
103
  }
104
  else:
 
150
  cursor.execute(
151
  """
152
  SELECT id, uid, display_name, pais, correo, fecha_registro,
153
+ usos, prompt, prompt_eval, proveedor, seed, created_at
154
  FROM `registro`
155
  ORDER BY created_at DESC
156
  LIMIT %s OFFSET %s
 
175
  "fecha_registro": reg[5],
176
  "usos": reg[6],
177
  "prompt": reg[7],
178
+ "prompt_eval": reg[8],
179
+ "proveedor": reg[9],
180
+ "seed": reg[10],
181
+ "created_at": reg[11]
182
  })
183
 
184
  logger.info(f"📈 Retornando {len(datos)} registros")
imagen_log.sql CHANGED
@@ -7,6 +7,7 @@ CREATE TABLE `registro` (
7
  `fecha_registro` datetime,
8
  `usos` integer,
9
  `prompt` varchar(255),
 
10
  `proveedor` varchar(255),
11
  `seed` int,
12
  `created_at` timestamp
 
7
  `fecha_registro` datetime,
8
  `usos` integer,
9
  `prompt` varchar(255),
10
+ `prompt_eval` varchar(255),
11
  `proveedor` varchar(255),
12
  `seed` int,
13
  `created_at` timestamp
models.py CHANGED
@@ -14,6 +14,7 @@ class RegistroRequest(BaseModel):
14
  fecha_registro: Optional[datetime] = Field(None, description="Fecha de registro")
15
  usos: Optional[int] = Field(0, ge=0, description="Cantidad de usos")
16
  prompt: Optional[str] = Field(None, max_length=255, description="Prompt utilizado")
 
17
  proveedor: Optional[str] = Field(None, max_length=255, description="Proveedor del servicio")
18
  seed: Optional[int] = Field(None, description="Seed para generación")
19
 
@@ -38,6 +39,7 @@ class RegistroResponse(BaseModel):
38
  fecha_registro: Optional[datetime]
39
  usos: int
40
  prompt: Optional[str]
 
41
  proveedor: Optional[str]
42
  seed: Optional[int]
43
  created_at: datetime
 
14
  fecha_registro: Optional[datetime] = Field(None, description="Fecha de registro")
15
  usos: Optional[int] = Field(0, ge=0, description="Cantidad de usos")
16
  prompt: Optional[str] = Field(None, max_length=255, description="Prompt utilizado")
17
+ prompt_eval: Optional[str] = Field(None, max_length=255, description="Evaluación del prompt")
18
  proveedor: Optional[str] = Field(None, max_length=255, description="Proveedor del servicio")
19
  seed: Optional[int] = Field(None, description="Seed para generación")
20
 
 
39
  fecha_registro: Optional[datetime]
40
  usos: int
41
  prompt: Optional[str]
42
+ prompt_eval: Optional[str]
43
  proveedor: Optional[str]
44
  seed: Optional[int]
45
  created_at: datetime