Currículo abierto · edición verificadaContribuir en GitHub
Configuración2 min358 palabras

Setup del entorno

Copia la plantilla y rellena solo las claves que vayas a usar en cada módulo:

FuenteMejorar esta página

1. Python y dependencias#

Requiere Python ≥ 3.12 y uv.

cd llm-engineering-program
uv sync            # crea .venv e instala todas las dependencias
source .venv/bin/activate

Alternativa sin uv:

python3 -m venv .venv && source .venv/bin/activate
pip install -e .

2. Claves API#

Copia la plantilla y rellena solo las claves que vayas a usar en cada módulo:

cp setup/.env.example .env
Variable Dónde obtenerla Se usa desde
OPENAI_API_KEY platform.openai.com Módulo 1
ANTHROPIC_API_KEY console.anthropic.com Módulo 1
AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY / AWS_REGION Consola AWS (IAM) Módulo 1 (Bedrock)
COHERE_API_KEY dashboard.cohere.com Módulo 3 (rerank)
LANGSMITH_API_KEY smith.langchain.com Módulos 4–6

Los labs cargan .env con python-dotenv. Nunca subas .env al repo (ya está en .gitignore).

3. Coste estimado de APIs#

El coste depende del catálogo y la tarifa vigentes. Los ejemplos de agosto de 2026 usan gpt-5.6-luna y claude-haiku-4-5 para volumen, y reservan tiers superiores para comparativas justificadas. Consulta el precio oficial antes de cada corrida y fija un presupuesto; los módulos 3–5 incluyen además recorridos offline o modelos locales con Ollama.

4. Servicios locales opcionales#

  • Ollama (brew install ollama) — modelos locales para labs de despliegue y para trabajar sin coste de API.
  • Docker Desktop — necesario en el módulo 5 (contenedores) y para Qdrant/pgvector locales en el módulo 3.
  • Node ≥ 20 — solo para el frontend Next.js del módulo 3.

5. Verificación#

python setup/check_env.py

Comprueba versión de Python, dependencias instaladas y qué claves API hay configuradas.

6. Compatibilidad de Instructor#

El entorno principal fija el SDK actual de OpenAI 3.x. Instructor 1.15.4, la versión vigente al 21-08-2026, declara openai<3 y rich<15; instalarlo en el mismo entorno haría el lock irresoluble. El lab de structured outputs usa la API nativa por defecto y mantiene la comparación con Instructor en un proceso aislado:

uv run --no-project \
  --with-requirements setup/requirements-instructor.txt \
  python modulo-02-prompt-engineering/labs/05_structured_outputs_instructor.py \
  --backend instructor

Esto no cambia el modelo (OPENAI_MODEL=gpt-5.6-luna); aísla únicamente las versiones de SDK incompatibles. El fichero de requisitos deja la decisión reproducible.

RAGAS 0.4.3 arrastra la misma dependencia. Además se fija langchain-community<0.4: RAGAS aún importa chat_models.vertexai, módulo eliminado en la rama 0.4.x. Su modo live se ejecuta de forma aislada y con retrieval lexical para no mezclar un segundo stack de embeddings:

uv run --no-project \
  --with-requirements setup/requirements-ragas.txt \
  python modulo-03-rag/labs/06_evaluacion_ragas.py \
  --ragas --lexical --limit 5

El modo --offline del lab pertenece al entorno principal y no necesita RAGAS ni claves.

Revisado 23 de agosto de 2026

Este contenido procede del currículo público y conserva su historial editorial.

Creado y revisado por

¿Ves algo desactualizado o mejorable?

setup/README.md

Proponer una mejora