buenArDa es un proyecto destinado a crear un conjunto de datos argentinos de alta calidad destilado del archivo web de CommonCrawl. Este conjunto de datos puede ser utilizado para diversas tareas de procesamiento de lenguaje natural (NLP), incluyendo modelado de lenguaje, clasificación de texto y más.
- Filtra por patrones las páginas de los índices de CommonCrawl
- Busca y recolecta rangos de bytes específicos de los dumps de CommonCrawl
- Filtra contenido con Trafilatura
- Descomprime y guarda el contenido localmente
- Soporta procesamiento incremental para evitar datos duplicados
- Instalá server NFS en el nodo de control, creando la carpeta de salida:
sudo apt-get update
sudo apt-get install -y nfs-kernel-server
sudo mkdir -p /mnt/buenarda
sudo chown nobody:nogroup /mnt/buenarda
sudo chmod 777 /mnt/buenarda
echo "/mnt/buenarda *(rw,sync,no_subtree_check,no_root_squash)" | sudo tee -a /etc/exports
sudo exportfs -ra
- Instalá NFS en los workers:
sudo apt-get install -y nfs-common
Para comenzar con buenArDa, cloná el repositorio e instalá las dependencias requeridas:
git clone https://github.com/sandbox-ai/buenArDa
cd buenArDa
# Crear virtual environment, recomendado
python3 -m venv ./.venv
source .venv/bin/activate
pip install -e .
Para replicar buenArDa, podés correrlo localmente o desplegarlo en un clúster de Kubernetes.
Para crear buenArDa localmente, usá el script scripts/buenArDa.py
:
python3 -m scripts.buenArDa --output data.json
Este script se encargará de iniciar el proceso de extracción, descarga y procesamiento de los datos.
El argumento --pattern es opcional y por defecto es "*.ar", para filtrar por localización en Argentina.
Si preferís desplegar buenArDa en un clúster de Kubernetes, usá el script deploy.sh
:
./deploy.sh -i $(hostname -I | awk '{print $1}') [-p pattern]
- -i: IP del servidor NFS (requerido)
- -p: Patrón de búsqueda de URLs (opcional, por defecto: "*.ar")
- -t: Modo test (opcional, crea un solo trabajo para verificar que anda el environment de kubernetes)
Este script creará los recursos necesarios en tu clúster de Kubernetes y ejecutará los procesos de buenArDa en contenedores.
Asegurate de tener configurado tu entorno de Kubernetes y de tener los permisos necesarios para crear y gestionar recursos en el clúster.
Este proyecto está licenciado bajo la Licencia Apache 2.0. Consulta el archivo LICENSE para más detalles.
Son bienvenidas las contribuciones! Si tenés alguna sugerencia, abrí un issue o creá un pull request.