Phase 00 - Lesson 01

Entorno de Desarrollo

Tus herramientas moldean tu forma de pensar. Configúralas una vez, configúralas bien.

Tipo: Build Lenguajes: Python, Node.js, Rust Prerrequisitos: Ninguno Tiempo: ~45 minutos

Objetivos de Aprendizaje

  • Configurar desde cero los toolchains de Python 3.11+, Node.js 20+ y Rust
  • Configurar entornos virtuales y gestores de paquetes para builds reproducibles
  • Verificar el acceso a la GPU con CUDA/MPS y ejecutar una operación de tensor de prueba
  • Comprender el stack de cuatro capas: sistema, paquetes, runtimes, bibliotecas de IA

El Problema

Estás a punto de aprender ingeniería de IA a lo largo de más de 200 lecciones usando Python, TypeScript, Rust y Julia. Si tu entorno está roto, cada lección se convierte en una pelea contra las herramientas en lugar de aprendizaje.

La mayoría de las personas se saltan la configuración del entorno. Luego pasan horas depurando errores de import, conflictos de versiones y drivers CUDA faltantes. Vamos a hacer esto una vez, correctamente.

El Concepto

Un entorno de ingeniería de IA tiene cuatro capas:

graph TD
    A["4. AI/ML Libraries\nPyTorch, JAX, transformers, etc."] --> B["3. Language Runtimes\nPython 3.11+, Node 20+, Rust, Julia"]
    B --> C["2. Package Managers\nuv, pnpm, cargo, juliaup"]
    C --> D["1. System Foundation\nOS, shell, git, editor, GPU drivers"]

Instalamos de abajo hacia arriba. Cada capa depende de la que está debajo de ella.

Build It

Paso 1: Base del Sistema

Revisa tu sistema e instala lo básico.

# macOS
xcode-select --install
brew install git curl wget

# Ubuntu/Debian
sudo apt update && sudo apt install -y build-essential git curl wget

# Windows (use WSL2)
wsl --install -d Ubuntu-24.04

Paso 2: Python con uv

Usamos uv — es de 10 a 100x más rápido que pip y gestiona los entornos virtuales automáticamente.

curl -LsSf https://astral.sh/uv/install.sh | sh

uv python install 3.12

uv venv
source .venv/bin/activate  # o .venv\Scripts\activate en Windows

uv pip install numpy matplotlib jupyter

Verifica:

import sys
print(f"Python {sys.version}")

import numpy as np
print(f"NumPy {np.__version__}")
a = np.array([1, 2, 3])
print(f"Vector: {a}, dot product with itself: {np.dot(a, a)}")

Paso 3: Node.js con pnpm

Para las lecciones de TypeScript (agents, servidores MCP, aplicaciones web).

curl -fsSL https://fnm.vercel.app/install | bash
fnm install 22
fnm use 22

npm install -g pnpm

node -e "console.log('Node', process.version)"

Paso 4: Rust

Para lecciones críticas de rendimiento (inferencia, sistemas).

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

rustc --version
cargo --version

Paso 5: Julia (Opcional)

Para lecciones con mucha matemática donde Julia se destaca.

curl -fsSL https://install.julialang.org | sh

julia -e 'println("Julia ", VERSION)'

Paso 6: Configuración de la GPU (Si Tienes Una)

# NVIDIA
nvidia-smi

# Install PyTorch with CUDA
uv pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124
import torch
print(f"CUDA available: {torch.cuda.is_available()}")
if torch.cuda.is_available():
    print(f"GPU: {torch.cuda.get_device_name(0)}")

¿Sin GPU? Sin problema. La mayoría de las lecciones funcionan en CPU. Para lecciones con mucho entrenamiento, usa Google Colab o GPUs en la nube.

Paso 7: Verifica Todo

Ejecuta el script de verificación:

python phases/00-setup-and-tooling/01-dev-environment/code/verify.py

Use It

Tu entorno ya está listo para todas las lecciones de este curso. Esto es lo que usarás en cada caso:

Lenguaje Usado En Gestor de Paquetes
Python Fases 1-12 (ML, DL, NLP, Visión, Audio, LLMs) uv
TypeScript Fases 13-17 (Tools, Agents, Swarms, Infra) pnpm
Rust Fases 12, 15-17 (Sistemas críticos de rendimiento) cargo
Julia Fase 1 (Fundamentos de matemática) Pkg

Ship It

Esta lección produce un script de verificación que cualquier persona puede ejecutar para revisar su configuración.

Consulta outputs/prompt-env-check.md para un prompt que ayuda a los asistentes de IA a diagnosticar problemas del entorno.

Ejercicios

  1. Ejecuta el script de verificación y corrige cualquier falla
  2. Crea un entorno virtual de Python para este curso e instala PyTorch
  3. Escribe un "hello world" en los cuatro lenguajes y ejecuta cada uno
0 lifetime access. Curriculum based on AI Engineering from Scratch by Rohit Ghumare (MIT, used under attribution).