The six chambers are the conceptual spine of the MLflow Jedi activity. Each one targets a single MLflow concept and presents students with a code challenge drawn from a bank of 50 questions (8 or more per concept). Chambers open in order — a team cannot enter Chamber 2 until Chamber 1 is sealed — and each correct solution awards 20 points. Every hint costs 5 points and reveals progressively more of the solution (concept name → category → near-complete syntax). After five failed attempts the solution is shown, 10 additional points are deducted, and the team advances automatically to prevent blocking. This reference documents the fixed structure of each chamber type and the exact rules the validator applies.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/elenacarino-max/Pildora4_ext_StarWars/llms.txt
Use this file to discover all available pages before exploring further.
Chamber 1 — Experiment
| Property | Value |
|---|---|
| Number | 1 |
| Title | Archivo de campañas |
| Concept | Experiment |
| Seal | Sello de la Biblioteca |
- Una campaña agrupa runs relacionadas.
- La función pertenece a la categoría Experiment.
mlflow.set_e_________("Biblioteca_Jedi_Digits")
validate_chamber checks that mlflow.set_experiment is present in the parsed calls and that its first positional argument is the string constant "Biblioteca_Jedi_Digits" exactly. Any other experiment name — even a close variant — is rejected with the message “Usa exactamente Biblioteca_Jedi_Digits.”
Chamber 2 — Run
| Property | Value |
|---|---|
| Number | 2 |
| Title | Cámara de las misiones |
| Concept | Run |
| Seal | Sello de la Misión |
- Cada entrenamiento concreto necesita su propia run.
- Usa start_run dentro de un bloque with.
with mlflow.start_r__(run_name="Mision_Coruscant"):
validate_chamber checks that mlflow.start_run is present in the parsed calls and that the AST contains at least one ast.With node. A bare mlflow.start_run(...) call without the with wrapper is rejected with the message “Abre la run dentro de un bloque with.”
Chamber 3 — Parameters
| Property | Value |
|---|---|
| Number | 3 |
| Title | Sala de estrategias |
| Concept | Parameters |
| Seal | Sello de la Estrategia |
- Estos datos se conocen antes de entrenar.
- Deben registrarse como parámetros.
mlflow.log_p____(parametros)
validate_chamber checks that mlflow.log_params is present in the parsed calls. If it is absent, the student sees “n_estimators y max_depth son decisiones previas: son parámetros.”
Chamber 4 — Metrics
| Property | Value |
|---|---|
| Number | 4 |
| Title | Consejo de evaluación |
| Concept | Metrics |
| Seal | Sello del Consejo |
- Estas cifras se conocen después de evaluar.
- No son configuración: son métricas.
mlflow.log_m______(metricas)
validate_chamber checks that mlflow.log_metrics is present in the parsed calls. If it is absent, the student sees “La accuracy se conoce después de evaluar: es una métrica.”
Chamber 5 — Artifacts
| Property | Value |
|---|---|
| Number | 5 |
| Title | Cámara de holocrones |
| Concept | Artifacts |
| Seal | Sello del Holocrón |
- Una imagen no es una cifra única.
- Debe guardarse como artefacto.
mlflow.log_a_______(archivo)
validate_chamber checks that mlflow.log_artifact is present in the parsed calls. If it is absent, the student sees “Una matriz de confusión es un archivo, no una cifra única.”
Chamber 6 — Model
| Property | Value |
|---|---|
| Number | 6 |
| Title | Archivo de modelos |
| Concept | Model |
| Seal | Sello del Jedi entrenado |
- Las métricas no guardan el objeto entrenado.
- Usa la integración mlflow.sklearn.
mlflow.sklearn.log_m____(sk_model=modelo, ...)
validate_chamber checks that mlflow.sklearn.log_model is present in the parsed calls and that the call includes both sk_model and artifact_path as keyword arguments. Missing either keyword triggers “Indica sk_model=modelo y artifact_path=“modelo_digits”.”
Question bank
Each session draws one question per concept from a bank of 50 questions total, with at least 8 questions per concept. The six concept categories covered are:Experiment
8+ questions on
mlflow.set_experiment and naming conventionsRun
8+ questions on
mlflow.start_run and context managersParameters
8+ questions on
mlflow.log_params and pre-training decisionsMetrics
8+ questions on
mlflow.log_metrics and post-evaluation resultsArtifacts
8+ questions on
mlflow.log_artifact and file evidenceModel
8+ questions on
mlflow.sklearn.log_model and model registration- Code completion — a partial snippet with a blank to fill in
- Bug fix — a snippet with a deliberate error (wrong function, wrong argument name) to correct
- Multiple choice — a conceptual question about when or why a particular call is used
All validation is purely structural — the validator parses the student’s submission as an AST and inspects node types and argument values. No submitted code is ever executed in the chamber phase. This is why imports, lambda expressions, and any call outside the
ALLOWED_CALLS whitelist are rejected immediately, regardless of what they do.