> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fastino.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Use https://docs.fastino.ai/llms.txt to discover and navigate pages. Use https://docs.fastino.ai/llms-full.txt when you need the complete documentation corpus. Use https://docs.fastino.ai/openapi.json as the source of truth for customer-facing routes. For GLiDE decision inference, call POST https://api.fastino.ai/v1/systemone with model fastino/GLiDE. Create managed config jobs with POST /v1/training/jobs using base_model. Both config and interactive jobs use /v1/training/jobs/{job_id} for their canonical REST lifecycle. For custom training loops, use the supported Tinker-compatible SDK client; its /v1/training/compat/tinker adapter is intentionally absent from OpenAPI and must not be called directly. Auto Train is private access and has no public route; direct interested users to sales@fastino.ai. Do not infer undocumented routes. Read API keys from FASTINO_API_KEY and never embed credentials in code, logs, or reports.

# Construye un bucle de entrenamiento personalizado

> Conecta el muestreo, las recompensas, las actualizaciones y los checkpoints dentro de un trabajo interactivo de Fastino.

Tu aplicación decide qué muestrear, cómo puntuarlo y cuándo actualizar. Fastino
ejecuta las operaciones interactivas del modelo. Un `TrainingClient` representa
un trabajo interactivo de Fastino durante todo el bucle.

## El bucle de control

<Steps>
  <Step title="Crea el trabajo interactivo">
    Elige un `base_model` y otras opciones de la respuesta de capacidades, llama
    a `create_lora_training_client(...)` y lee el ID canónico del trabajo de
    `training_client.get_info().model_data.model_id`.
  </Step>

  <Step title="Captura los pesos para el muestreo">
    Llama a `save_weights_for_sampler(name)` y crea un cliente de muestreo con
    la ruta del checkpoint devuelta. Esto vincula la política de rollout a un
    artefacto explícito del mismo trabajo.
  </Step>

  <Step title="Recopila grupos de rollouts">
    Muestrea varias respuestas candidatas para cada prompt. Tu aplicación
    controla la construcción de prompts, el renderizado y la agrupación.
  </Step>

  <Step title="Calcula recompensas y ventajas">
    Puntúa cada respuesta y transforma las recompensas en las ventajas que
    requiera la operación de entrenamiento compatible seleccionada.
  </Step>

  <Step title="Construye los datums de entrenamiento">
    Combina entradas del modelo, tokens de respuestas muestreadas, metadatos de
    muestreo y señales de entrenamiento por token con la forma esperada del SDK.
  </Step>

  <Step title="Actualiza el mismo trabajo">
    Envía el trabajo compatible hacia delante/hacia atrás y después un paso del
    optimizador mediante el `TrainingClient` existente.
  </Step>

  <Step title="Guarda un límite de recuperación">
    Guarda un checkpoint de estado y conserva su identificador con el paso de
    la aplicación y el cursor del dataset antes de iniciar la siguiente iteración.
  </Step>
</Steps>

## Modelo de objetos

| Objeto | Función |
| - | - |
| `ServiceClient` | Consulta capacidades y crea clientes del SDK |
| `TrainingClient` | Representa un trabajo interactivo de Fastino y envía sus operaciones del modelo |
| `SamplingClient` | Muestrea desde un checkpoint resuelto |
| `RestClient` | Lista u obtiene trabajos canónicos y administra checkpoints con métodos compatibles del SDK |
| Future | Realiza el seguimiento de una operación enviada al trabajo |

El ID de modelo del SDK es el ID canónico del trabajo de Fastino. Los futures y
los clientes de muestreo no crean ejecuciones independientes.

Para convertir una evaluación determinista en ventajas relativas al grupo,
sigue [Entrenar con recompensas verificables](/es/training/verifiable-rewards).

## Construye datums alineados

En un bucle de muestreo por importancia, el prompt es el contexto y la
finalización muestreada es la acción. Mantén los arrays de tokens alineados con
el SDK y el renderizador del modelo seleccionado:

* Entrada del modelo con tokens del prompt y de la finalización
* Tokens objetivo alineados con la entrada del modelo
* Probabilidades logarítmicas de muestreo alineadas con los tokens generados
* Ventajas aplicadas a las posiciones de la finalización

<Warning>
  El renderizado de prompts, la tokenización, la construcción de datums y la
  ejecución de recompensas pertenecen al cliente. Valida sus formas con
  `tinker==0.33.1` y la respuesta de capacidades activa antes de aumentar la carga.
</Warning>

## Mantén ordenado el trabajo dependiente

Resuelve un future hacia delante/hacia atrás antes de considerar completa esa
etapa y el future del optimizador antes de crear el checkpoint del estado
actualizado. No permitas que controladores independientes muten el mismo trabajo
sin coordinación en la aplicación.

El SDK realiza estas operaciones interactivas. No las reproduzcas como llamadas
HTTP directas.

Haz un seguimiento de cada future que devuelva una llamada compatible. Resuelve
o cancela los futures de forma individual. No se admite la recuperación por
lotes mediante `retrieve_futures`.

## Recupera el bucle

Conserva el ID canónico del trabajo, el paso de la aplicación, el cursor del
dataset y los identificadores de futures o checkpoints relevantes. Así, un
controlador reiniciado puede determinar qué trabajo se completó sin repetir una
actualización.

Para conocer la secuencia de recuperación y los tipos de checkpoint, sigue
[Checkpoints y recuperación](/es/training/checkpoints).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.