Files
extractor_tematizador_pregu…/extraccion/schemas_entidades.py

102 lines
2.6 KiB
Python

from pydantic import BaseModel, Field
from typing import Optional
class Accion(BaseModel):
accion: str = Field(..., description="Texto de la accion extraida de la respuesta.")
class Acciones(BaseModel):
acciones: list[Accion] = Field(
..., description="Lista de acciones extraidas de la respuesta."
)
class Tema(BaseModel):
tema: str = Field(..., description="Texto del tema extraido de la respuesta.")
class Temas(BaseModel):
temas: list[Tema] = Field(
..., description="Lista de temas extraidos de la respuesta."
)
class Estrategia(BaseModel):
estrategia: str = Field(
..., description="Texto de la estrategia extraida de la respuesta."
)
class Estrategias(BaseModel):
estrategias: list[Estrategia] = Field(
..., description="Lista de estrategias extraidas de la respuesta."
)
class Factor(BaseModel):
factor: str = Field(..., description="Texto del factor extraido de la respuesta.")
class Factores(BaseModel):
factores: list[Factor] = Field(
..., description="Lista de factores extraidos de la respuesta."
)
class Entidad(BaseModel):
entidad: str = Field(
...,
description="Texto del programa, alianza o convenio extraido de la respuesta.",
)
class Entidades(BaseModel):
entidades: list[Entidad] = Field(
...,
description="Lista de entidades ( programa, alianza o convenio) extraidas de la respuesta.",
)
class Competencias(BaseModel):
basicas: Optional[list[str]] = Field(
default_factory=list, description="Lista de competencias básicas"
)
socioemocionales: Optional[list[str]] = Field(
default_factory=list, description="Lista de competencias socioemocionales"
)
ciudadanas: Optional[list[str]] = Field(
default_factory=list, description="Lista de competencias ciudadanas"
)
siglo_xxi: Optional[list[str]] = Field(
default_factory=list, description="Lista de competencias siglo_xxi"
)
class Herramienta(BaseModel):
herramienta: str = Field(
...,
description="Texto de la herramienta extraida de la respuesta.",
)
class Herramientas(BaseModel):
herramientas: list[Herramienta] = Field(
...,
description="Lista de herramientas extraidas de la respuesta.",
)
class Mecanismo(BaseModel):
mecanismo: str = Field(
...,
description="Texto del mecanismo extraido de la respuesta.",
)
class Mecanismos(BaseModel):
mecanismos: list[Mecanismo] = Field(
...,
description="Lista de mecanismos extraidas de la respuesta.",
)