AndesOps-AI / backend /seed_db.py
Álvaro Valenzuela Valdes
data: Add high-impact software tenders and pre-analyzed demo data
6a46107
raw
history blame
5.38 kB
import sys
import os
from sqlalchemy.orm import Session
from datetime import datetime, timedelta
# Add parent dir to path to import app
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
from app.database import SessionLocal, engine, Base
from app.models.tender import TenderModel
from app.models.analysis import AnalysisHistoryModel
from app.models.company import CompanyProfileModel
def seed():
Base.metadata.drop_all(bind=engine)
Base.metadata.create_all(bind=engine)
db = SessionLocal()
# 1. Company Profile (Your profile)
profile = CompanyProfileModel(
name="Andes Digital Solutions",
industry="Software Engineering & AI",
services="Machine Learning, Custom ERP, Cloud Infrastructure",
experience="10+ years delivering enterprise software for the public sector.",
certifications="AWS Partner, ISO 9001, SCRUM Master Team",
regions="Metropolitana, Valparaíso, Biobío, Araucanía",
documents_available="RUT, Financial Statements 2023, Technical Portfolio, Staff Certifications"
)
db.add(profile)
# 2. Software Tenders (The core demo data)
tenders = [
TenderModel(
code="2394-15-LR24",
name="Implementación Sistema ERP para Red de Salud Oriente",
description="Suministro, instalación y soporte de sistema de gestión de recursos empresariales para red hospitalaria.",
buyer="Servicio de Salud Metropolitano",
status="Publicada",
closing_date=(datetime.now() + timedelta(days=20)).strftime("%Y-%m-%d"),
estimated_amount=450000000,
region="Metropolitana",
sector="Tecnología de la Información",
source="Mercado Público"
),
TenderModel(
code="5021-10-LP24",
name="Plataforma de IA para Análisis de Datos Criminalísticos",
description="Desarrollo de algoritmos de visión computacional y análisis predictivo para seguridad ciudadana.",
buyer="Subsecretaría de Prevención del Delito",
status="Publicada",
closing_date=(datetime.now() + timedelta(days=12)).strftime("%Y-%m-%d"),
estimated_amount=180000000,
region="Metropolitana",
sector="Software & IA",
source="Mercado Público"
),
TenderModel(
code="6655-22-LE24",
name="Modernización de App Móvil 'Trámites en Línea'",
description="Rediseño UX/UI y migración a arquitectura serverless de la aplicación ciudadana principal.",
buyer="Municipalidad de Providencia",
status="Publicada",
closing_date=(datetime.now() + timedelta(days=4)).strftime("%Y-%m-%d"),
estimated_amount=65000000,
region="Metropolitana",
sector="Desarrollo Mobile",
source="Mercado Público"
),
TenderModel(
code="8899-44-LP24",
name="Servicio de Ciberseguridad y SOC 24/7",
description="Monitoreo proactivo de amenazas y respuesta ante incidentes para infraestructura gubernamental.",
buyer="Ministerio del Interior",
status="Abierta",
closing_date=(datetime.now() + timedelta(days=30)).strftime("%Y-%m-%d"),
estimated_amount=520000000,
region="Nacional",
sector="Ciberseguridad",
source="Mercado Público"
)
]
for t in tenders:
db.add(t)
# 3. Pre-Analyzed History (To show the results immediately)
history = AnalysisHistoryModel(
tender_code="5021-10-LP24",
tender_name="Plataforma de IA para Análisis de Datos Criminalísticos",
decision="Recommended",
score=92,
summary="Oportunidad estratégica de alto valor. Tenemos el stack tecnológico (Gemini, Python) y la experiencia previa en seguridad ciudadana.",
risks='''[
{"severity": "High", "description": "Requisito de disponibilidad 99.9% 24/7"},
{"severity": "Medium", "description": "Integración con bases de datos legacy de Carabineros"},
{"severity": "Low", "description": "Plazo de entrega de la Fase 1 en 45 días"}
]''',
technical_analysis="Factibilidad técnica excelente. Podemos usar la arquitectura de agentes que ya tenemos implementada.",
legal_analysis="Cumplimos con todos los seguros y garantías solicitadas en el artículo 4.2 de las bases.",
commercial_analysis="ROI estimado del 35%. Es un proyecto insignia para nuestro portafolio de IA.",
proposal_draft="Nuestra propuesta se basa en una arquitectura de microservicios escalable, utilizando modelos de lenguaje avanzados para el procesamiento de texto y redes neuronales para visión...",
report_markdown="# Executive Report: AI Platform Crime Analysis\n\n## Summary\nThis tender is a perfect match for AndesOps AI.\n\n## Key Recommendations\n1. Focus the proposal on the 'Safety-First' approach.\n2. Highlight our speed of development using AI Agents.",
created_at=datetime.now() - timedelta(hours=5)
)
db.add(history)
db.commit()
print("Database seeded with high-quality Software Tenders!")
db.close()
if __name__ == "__main__":
seed()