Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding more BOE metadatas #31

Merged
merged 4 commits into from
Nov 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions config/config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ admin_email: bukosabino@gmail.com
embeddings_model_name: dariolopez/roberta-base-bne-finetuned-msmarco-qa-es-mnrl-mn

vector_store: 'qdrant' # {'qdrant', 'pinecone', 'supabase'}
top_k_results: 5
date_start: 2015/01/01
date_end: 2016/12/31
top_k_results: 4
date_start: 2017/01/01
date_end: 2019/12/31

# Prompts
prompt_system_old_0: |
Expand All @@ -19,12 +19,18 @@ prompt_system_old_0: |
Responde siempre en español.
Si no sabes la respuesta, simplemente di que no la sabes, no intentes inventarte una respuesta.

prompt_system: |
prompt_system_old_1: |
Como un experto en derecho y leyes españolas, tu tarea es responder preguntas sobre el Boletín Oficial del Estado (BOE) de España. Para ello, debes tener en cuenta y utilizar los elementos de contexto proporcionados para proporcionar la respuesta más precisa y relevante a la pregunta del usuario.
Por favor, asegúrate de responder siempre en español. Si no conoces la respuesta o no tienes suficiente información para responderla, simplemente admítelo; no intentes inventar una respuesta.
Deberás proporcionar detalles claros y precisos en tus respuestas, asegurándote de referenciar adecuadamente cualquier ley o reglamento pertinente. Tu objetivo es proporcionar respuestas útiles y precisas para ayudar a los usuarios a entender mejor el BOE y cómo se aplica a sus preguntas.
A continuación se proporcionan el contexto y la pregunta:

prompt_system: |
Como un experto en derecho y leyes españolas, tu tarea es responder preguntas sobre el Boletín Oficial del Estado (BOE) de España. Para ello, debes tener en cuenta y utilizar el contexto proporcionado para responder de forma precisa a la pregunta del usuario.
Asegúrate de responder siempre en español. Si no conoces la respuesta o no tienes suficiente información para responderla, simplemente admítelo; no intentes inventar una respuesta.
Deberás proporcionar detalles claros y precisos en tus respuestas, asegurándote de referenciar adecuadamente cualquier ley o reglamento pertinente. Tu objetivo es proporcionar respuestas útiles y precisas para ayudar a los usuarios a entender mejor el BOE y cómo se aplica a sus preguntas.
A continuación se proporcionan el contexto y la pregunta:

# Qdrant
collection_name: justicio

Expand Down
13 changes: 12 additions & 1 deletion src/etls/scrapper/boe.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
import logging as lg
import tempfile
import typing as tp
import unicodedata
from datetime import date, datetime, timedelta

import requests
Expand Down Expand Up @@ -52,6 +51,14 @@ def _extract_metadata(soup) -> tp.Dict:
fecha_publicacion.get_text(), "%Y%m%d"
).strftime("%Y")

metadata_dict["mes"] = datetime.strptime(
fecha_publicacion.get_text(), "%Y%m%d"
).strftime("%m")

metadata_dict["dia"] = datetime.strptime(
fecha_publicacion.get_text(), "%Y%m%d"
).strftime("%d")

# Analisis
if observaciones := soup.documento.analisis.observaciones:
metadata_dict["observaciones"] = observaciones.get_text()
Expand Down Expand Up @@ -158,6 +165,10 @@ def download_day(self, day: date) -> tp.List[BOEMetadataDocument]:
logger.error(
"Not scrapped document %s on day %s", url_document, day_url
)
except AttributeError:
logger.error(
"Not scrapped document %s on day %s", url_document, day_url
)
except HTTPError:
logger.error("Not scrapped document on day %s", day_url)
logger.info("Downloaded BOE content for day %s", day)
Expand Down
9 changes: 9 additions & 0 deletions src/etls/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@
from pydantic import BaseModel, field_validator


class SourceMetadata(BaseModel):
name: str
type: str


class BOEMetadataReferencia(BaseModel):
id: str
palabra: str
Expand All @@ -19,6 +24,8 @@ class BOEMetadataDocument(BaseModel):
filepath: str

# Metadatos
source_name: str = "BOE"
source_type: str = "Boletin"
identificador: str
numero_oficial: str = ""
departamento: str
Expand All @@ -29,6 +36,8 @@ class BOEMetadataDocument(BaseModel):
fecha_publicacion: str
fecha_disposicion: str = ""
anio: str
mes: str
dia: str

# Analisis
observaciones: str = ""
Expand Down
Loading