Skip to main content
Fastino supports a defined subset of the tinker SDK as a client interface for interactive training jobs. A migrated training client is a Fastino job in /v1/training/jobs; its SDK model ID and canonical Fastino job ID are identical. Treat your existing program as the acceptance test. Change the connection, check every operation, and run a small smoke test before restoring production workload sizes.

1. Pin the tested package

2. Replace endpoint and authentication

The SDK appends /api/v1/{operation} to TINKER_BASE_URL. TINKER_CREDENTIAL_CMD runs on every token request and must print a nonempty credential. Use a normal fast_sk_ Fastino key; tml- credentials are rejected. Do not set TINKER_API_KEY.

3. Check the workload

  1. Query ServiceClient.get_server_capabilities() and choose an available base model. Keep the SDK parameter name base_model.
  2. Compare every method in your code with the supported client behavior.
  3. Remove dependencies on unsupported batch future retrieval, external weight export, or external weight URLs.
  4. Keep prompt rendering, reward logic, batching, evaluation, and stopping criteria in your application.
Capabilities are the source of truth for environment-dependent support. Do not carry over model, rank, context, loss, or request-limit assumptions from another deployment.

4. Run a smoke test

Use the smallest valid datums and optimizer settings from your existing workload for a low-cost test that:
  • Creates one client with create_lora_training_client(base_model=...)
  • Reads training_client.get_info().model_data.model_id
  • Saves sampler weights and samples once
  • Runs one supported forward/backward operation and one optimizer step
  • Saves and reloads a state checkpoint
  • Fetches the same ID from GET /v1/training/jobs/{job_id}
Use the SDK for interactive operations. The adapter is intentionally absent from Fastino’s OpenAPI and API reference, so do not construct adapter HTTP calls.

Supported client behavior

Fastino’s HTTP adapter translates supported calls from tinker==0.33.1 into operations on one interactive Fastino job.

Training and sampling

Keep the SDK parameter base_model unchanged. Query ServiceClient.get_server_capabilities() before selecting a model, rank, loss, or optional operation.

Futures and administration

These administration methods are supported SDK operations, not public Training API routes. The adapter also handles token exchange automatically using the key printed by TINKER_CREDENTIAL_CMD. Do not construct adapter requests.

Unsupported calls

Fastino does not support:
  • Batch future retrieval through retrieve_futures
  • save_weights_external
  • external_weights_urls
Do not infer support because a method exists in the installed package. The live capability response is authoritative for environment-dependent behavior.

Troubleshoot the connection

Migration checklist

  • Pin tinker==0.33.1.
  • Set the Fastino adapter base URL.
  • Deliver a fast_sk_ key through TINKER_CREDENTIAL_CMD.
  • Confirm interactive training is enabled for the Fastino team.
  • Check every SDK method against the supported client behavior.
  • Select the model and optional features from capabilities.
  • Complete one sampling and training update.
  • Save and reload one state checkpoint.
  • Verify the SDK model ID through the canonical job endpoint.
  • Increase workload size only after the smoke test passes.

Build the training loop

Connect sampling, rewards, updates, and checkpoints in one job.