Spaces:
Running
on
Zero
Running
on
Zero
Update models.py
Browse files
models.py
CHANGED
|
@@ -91,42 +91,59 @@ class BagelAPIAnalyzer(BaseImageAnalyzer):
|
|
| 91 |
return False
|
| 92 |
|
| 93 |
def _get_professional_prompt(self, analysis_type: str = "multimodal") -> str:
|
| 94 |
-
"""Get professional prompt
|
| 95 |
try:
|
| 96 |
-
#
|
| 97 |
-
|
| 98 |
|
| 99 |
-
|
| 100 |
-
|
| 101 |
-
|
| 102 |
-
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
| 111 |
-
|
| 112 |
-
|
| 113 |
-
|
| 114 |
-
|
| 115 |
-
|
| 116 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 117 |
|
| 118 |
return prompt
|
| 119 |
|
| 120 |
except Exception as e:
|
| 121 |
-
logger.warning(f"Professional
|
| 122 |
-
|
| 123 |
-
return """Analyze this image using complete professional cinematography expertise. Provide exactly two sections:
|
| 124 |
|
| 125 |
-
|
| 126 |
|
| 127 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 128 |
|
| 129 |
-
|
| 130 |
|
| 131 |
def _save_temp_image(self, image: Image.Image) -> str:
|
| 132 |
"""Save image to temporary file for API call"""
|
|
|
|
| 91 |
return False
|
| 92 |
|
| 93 |
def _get_professional_prompt(self, analysis_type: str = "multimodal") -> str:
|
| 94 |
+
"""Get professional prompt that teaches BAGEL to use the complete knowledge base"""
|
| 95 |
try:
|
| 96 |
+
# Import the complete knowledge base
|
| 97 |
+
from professional_photography import EXPERT_PHOTOGRAPHY_KNOWLEDGE
|
| 98 |
|
| 99 |
+
# Create the teaching prompt with the complete structure
|
| 100 |
+
prompt = f"""Analiza esta imagen con conocimiento cinematográfico profesional completo. Estructura tu respuesta así:
|
| 101 |
+
|
| 102 |
+
GRAMÁTICA: [PLANO] of [SUJETO] [ACCIÓN] [CONTEXTO], [ILUMINACIÓN], [COMPOSICIÓN], shot on [CÁMARA], [LENTE], [CONFIGURACIÓN]
|
| 103 |
+
|
| 104 |
+
BUSCA ESTOS CAMPOS:
|
| 105 |
+
|
| 106 |
+
PLANO: Consulta photographic_planes completo:
|
| 107 |
+
{EXPERT_PHOTOGRAPHY_KNOWLEDGE.get('photographic_planes', {})}
|
| 108 |
+
- Encuentra el plano que coincida exactamente
|
| 109 |
+
|
| 110 |
+
SUJETO + ACCIÓN: Describe exactamente lo que ves - persona, objeto, qué está haciendo
|
| 111 |
+
|
| 112 |
+
CONTEXTO: Describe el ambiente/entorno completamente - ubicación, elementos del fondo
|
| 113 |
+
|
| 114 |
+
ILUMINACIÓN: Consulta lighting_principles completo:
|
| 115 |
+
{EXPERT_PHOTOGRAPHY_KNOWLEDGE.get('lighting_principles', {})}
|
| 116 |
+
- Encuentra el tipo de iluminación que coincida
|
| 117 |
+
|
| 118 |
+
COMPOSICIÓN: Consulta composition_rules completo:
|
| 119 |
+
{EXPERT_PHOTOGRAPHY_KNOWLEDGE.get('composition_rules', {})}
|
| 120 |
+
- Encuentra la técnica de composición que se aplica
|
| 121 |
+
|
| 122 |
+
CONFIGURACIÓN TÉCNICA: Consulta scene_types completo:
|
| 123 |
+
{EXPERT_PHOTOGRAPHY_KNOWLEDGE.get('scene_types', {})}
|
| 124 |
+
- Encuentra el setup de cámara apropiado para el tipo de escena
|
| 125 |
+
|
| 126 |
+
USA TODA LA BASE DE DATOS EXPERT_PHOTOGRAPHY_KNOWLEDGE COMPLETA.
|
| 127 |
+
|
| 128 |
+
Completa cada campo con la información específica que encuentres. Responde en el formato de gramática especificado."""
|
| 129 |
|
| 130 |
return prompt
|
| 131 |
|
| 132 |
except Exception as e:
|
| 133 |
+
logger.warning(f"Professional knowledge base access failed: {e}")
|
| 134 |
+
return """Analiza esta imagen con conocimiento cinematográfico profesional. Estructura tu respuesta así:
|
|
|
|
| 135 |
|
| 136 |
+
GRAMÁTICA: [PLANO] of [SUJETO] [ACCIÓN] [CONTEXTO], [ILUMINACIÓN], [COMPOSICIÓN], shot on [CÁMARA], [LENTE], [CONFIGURACIÓN]
|
| 137 |
|
| 138 |
+
BUSCA Y COMPLETA CADA CAMPO:
|
| 139 |
+
- PLANO: wide shot, medium shot, close-up, etc.
|
| 140 |
+
- SUJETO + ACCIÓN: exactamente lo que ves
|
| 141 |
+
- CONTEXTO: ambiente y entorno
|
| 142 |
+
- ILUMINACIÓN: tipo de luz
|
| 143 |
+
- COMPOSICIÓN: técnica utilizada
|
| 144 |
+
- CONFIGURACIÓN TÉCNICA: cámara y lente apropiados
|
| 145 |
|
| 146 |
+
Usa tu conocimiento profesional completo para completar cada campo."""
|
| 147 |
|
| 148 |
def _save_temp_image(self, image: Image.Image) -> str:
|
| 149 |
"""Save image to temporary file for API call"""
|