File size: 5,383 Bytes
42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f 6a46107 42df68f | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 | 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()
|