[project] name = "enlace" version = "0.1.0" description = "Modelo de lenguaje propio, entrenado desde cero, para asistencia general y familiar en español." requires-python = ">=3.11" # Las versiones se pinean con cuidado: el salto a Blackwell (RTX 5090, sm_120) # exige torch >= 2.7 con CUDA 12.8. Turing (RTX 2060, sm_75) funciona con # cualquier torch reciente. Ver configs/hardware/ y docs/HARDWARE.md. dependencies = [ "torch>=2.5", "pydantic>=2.7", "omegaconf>=2.3", "numpy>=1.26", ] [project.optional-dependencies] data = [ "datasets>=2.20", # streaming del corpus; nunca se baja entero "tokenizers>=0.20", "fasttext-wheel>=0.9", # filtro de idioma "datasketch>=1.6", # deduplicación MinHash ] distill = [ # Solo para generar el dataset SFT (Etapa 3) con la Batch API. No hace falta # en el servidor de entrenamiento: enlace/data/distill.py importa el SDK de # forma perezosa para que el paquete funcione sin él. "anthropic>=0.69", ] dev = [ "pytest>=8.0", "ruff>=0.6", "yamllint>=1.35", ] [build-system] requires = ["hatchling"] build-backend = "hatchling.build" [tool.hatch.build.targets.wheel] packages = ["enlace"] [tool.pytest.ini_options] testpaths = ["tests"] addopts = "-q" [tool.ruff] line-length = 100 target-version = "py311" [tool.ruff.lint] select = ["E", "F", "I", "UP", "B"]