> ## 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.

# Migrar desde Tinker

> Traslada una carga de trabajo compatible del SDK de Tinker a los trabajos de entrenamiento interactivos de Fastino.

Fastino admite un subconjunto definido del SDK `tinker` como interfaz de cliente
para trabajos de entrenamiento interactivos. Un cliente de entrenamiento
migrado es un trabajo de Fastino en `/v1/training/jobs`; su ID de modelo del SDK
y su ID canónico de trabajo de Fastino son idénticos.

Trata tu programa existente como prueba de aceptación. Cambia la conexión,
comprueba cada operación y ejecuta una pequeña prueba de humo antes de
restablecer los tamaños de las cargas de producción.

## 1. Fija el paquete probado

<CodeGroup>
  ```bash uv theme={null}
  uv add "tinker==0.33.1"
  ```

  ```bash pip theme={null}
  pip install "tinker==0.33.1"
  ```
</CodeGroup>

## 2. Sustituye el endpoint y la autenticación

<CodeGroup>
  ```bash macOS/Linux theme={null}
  export FASTINO_API_KEY="fast_sk_..."
  export TINKER_BASE_URL="https://api.fastino.ai/v1/training/compat/tinker"
  export TINKER_CREDENTIAL_CMD='printf "%s\n" "$FASTINO_API_KEY"'
  ```

  ```powershell Windows theme={null}
  $env:FASTINO_API_KEY = "fast_sk_..."
  $env:TINKER_BASE_URL = "https://api.fastino.ai/v1/training/compat/tinker"
  $env:TINKER_CREDENTIAL_CMD = 'powershell -NoProfile -Command "[Console]::Out.WriteLine($env:FASTINO_API_KEY)"'
  ```
</CodeGroup>

El SDK añade `/api/v1/{operation}` a `TINKER_BASE_URL`.
`TINKER_CREDENTIAL_CMD` se ejecuta con cada solicitud de token y debe imprimir
una credencial no vacía. Usa una clave normal `fast_sk_` de Fastino; las
credenciales `tml-` se rechazan. No establezcas `TINKER_API_KEY`.

## 3. Comprueba la carga de trabajo

1. Consulta `ServiceClient.get_server_capabilities()` y elige un modelo base disponible. Conserva el nombre de parámetro `base_model` del SDK.
2. Compara cada método de tu código con el [comportamiento compatible del cliente](#supported-client-behavior).
3. Elimina dependencias de la recuperación de futures por lotes no compatible,
   la exportación de pesos externos o las URL de pesos externos.
4. Mantén en tu aplicación el renderizado de prompts, la lógica de recompensas, el procesamiento por lotes, la evaluación y los criterios de parada.

Las capacidades son la fuente de verdad de la compatibilidad dependiente del
entorno. No traslades supuestos sobre modelos, rangos, contexto, pérdidas o
límites de solicitudes desde otro despliegue.

## 4. Ejecuta una prueba de humo

Usa los datums válidos más pequeños y los ajustes del optimizador de tu carga de
trabajo existente para realizar una prueba de bajo coste que:

* Cree un cliente con `create_lora_training_client(base_model=...)`
* Lea `training_client.get_info().model_data.model_id`
* Guarde los pesos del muestreador y realice un muestreo
* Ejecute una operación compatible hacia delante/hacia atrás y un paso del optimizador
* Guarde y vuelva a cargar un checkpoint de estado
* Obtenga el mismo ID de `GET /v1/training/jobs/{job_id}`

Usa el SDK para las operaciones interactivas. El adaptador se omite
intencionadamente del OpenAPI y de la referencia de la API de Fastino, así que
no construyas llamadas HTTP al adaptador.

<span id="supported-client-behavior" />

## Comportamiento compatible del cliente

El adaptador HTTP de Fastino traduce las llamadas compatibles de
`tinker==0.33.1` en operaciones sobre un trabajo interactivo de Fastino.

### Entrenamiento y muestreo

| Método u operación del SDK | Comportamiento de Fastino |
| - | - |
| `create_lora_training_client` | Crea un trabajo interactivo |
| `copy_weights` | Inicia un trabajo interactivo desde un checkpoint |
| `TrainingClient.get_info` | Devuelve el trabajo interactivo |
| `forward` | Ejecuta una operación solo hacia delante |
| `forward_backward` | Ejecuta una operación hacia delante y hacia atrás |
| Operación personalizada hacia delante/hacia atrás | Ejecuta una operación compatible con pérdida personalizada |
| `optim_step` | Aplica una actualización del optimizador |
| `save_state` | Guarda el estado del entrenamiento |
| `save_weights_for_sampler` | Guarda los pesos del muestreador |
| Cargar el estado de entrenamiento | Restaura un checkpoint de estado |
| Crear u obtener un cliente de muestreo | Resuelve los pesos del muestreador |
| `SamplingClient.sample` | Muestrea mediante el checkpoint seleccionado |

Conserva sin cambios el parámetro `base_model` del SDK. Consulta
`ServiceClient.get_server_capabilities()` antes de seleccionar un modelo, un
rango, una pérdida o una operación opcional.

### Futures y administración

| Método u operación del SDK | Comportamiento de Fastino |
| - | - |
| Resultado/obtención de future | Obtiene un resultado asíncrono |
| Cancelación de future | Solicita la cancelación de un future |
| Listar u obtener ejecuciones de entrenamiento con `RestClient` | Lee trabajos canónicos de Fastino |
| Listar checkpoints | Lee los checkpoints que pertenecen al trabajo |
| Descargar el archivo de un checkpoint | Descarga un checkpoint interactivo |
| Eliminar un checkpoint | Elimina un checkpoint mediante el SDK |
| Publicar o despublicar un checkpoint | Cambia la publicación del checkpoint mediante el SDK |
| Establecer o borrar el TTL de un checkpoint | Cambia la retención del checkpoint mediante el SDK |
| Uso de almacenamiento de checkpoints | Lee el almacenamiento actual de checkpoints mediante el SDK |
| Uso de facturación | Lee eventos de uso por hora mediante el SDK |

Estos métodos de administración son operaciones compatibles del SDK, no rutas
públicas de la API de entrenamiento. El adaptador también gestiona el
intercambio de tokens automáticamente con la clave que imprime
`TINKER_CREDENTIAL_CMD`. No construyas solicitudes al adaptador.

### Llamadas no compatibles

Fastino no admite:

* Recuperación de futures por lotes mediante `retrieve_futures`
* `save_weights_external`
* `external_weights_urls`

No deduzcas la compatibilidad porque un método exista en el paquete instalado.
La respuesta de capacidades activa es la fuente de verdad del comportamiento
dependiente del entorno.

## Soluciona problemas de conexión

| Síntoma | Comprobación |
| - | - |
| La autenticación falla | Confirma que `TINKER_CREDENTIAL_CMD` imprima una única clave `fast_sk_` actual y ninguna salida adicional |
| El cliente no puede conectarse | Confirma que `TINKER_BASE_URL` sea exactamente `https://api.fastino.ai/v1/training/compat/tinker` |
| Se rechaza un modelo o una operación | Vuelve a consultar las capacidades y compara la llamada con la tabla de compatibilidad |
| Falla la consulta del trabajo canónico | Confirma que el ID proceda de `get_info().model_data.model_id` y que esté autenticado el mismo equipo de Fastino |

## Lista de comprobación de la migración

* [ ] Fija `tinker==0.33.1`.
* [ ] Establece la URL base del adaptador de Fastino.
* [ ] Proporciona una clave `fast_sk_` mediante `TINKER_CREDENTIAL_CMD`.
* [ ] Confirma que el entrenamiento interactivo esté habilitado para el equipo de Fastino.
* [ ] Comprueba cada método del SDK con el comportamiento compatible del cliente.
* [ ] Selecciona el modelo y las funciones opcionales a partir de las capacidades.
* [ ] Completa una actualización de muestreo y entrenamiento.
* [ ] Guarda y vuelve a cargar un checkpoint de estado.
* [ ] Verifica el ID de modelo del SDK mediante el endpoint canónico del trabajo.
* [ ] Aumenta el tamaño de la carga solo después de superar la prueba de humo.

<Card title="Construye el bucle de entrenamiento" icon="diagram-project" href="/es/training/training-loop">
  Conecta el muestreo, las recompensas, las actualizaciones y los checkpoints en un trabajo.
</Card>


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