LoRA is rolling out in phases. Today you can upload, register, and manage adapters, and Valar validates them per base model. Running a registered adapter at request time is coming soon, and this page will be updated with the request syntax when it ships.
Entitlement
LoRA is enabled per organization. If your org is not entitled, the LoRA and file-upload endpoints return403 with lora entitlement required. Contact your Valar representative to turn it on.
Supported base models
An adapter can only target a base model that Valar has marked LoRA-eligible. Each eligible model declares a maximum adapter rank and the attention and MLP modules a LoRA may target.
The eligible set can change over time. Call
GET /v1/models to confirm what your key can reach, and register only against models from the list above.
Adapter requirements
Train with PEFT and export the two standard adapter files:adapter_config.jsonwithpeft_typeset to"LORA",task_typeset to"CAUSAL_LM",base_model_name_or_pathmatching the base model you register against, an adapter rankrno greater than the base model’s max rank, andtarget_moduleswithin the base model’s allowed set.adapter_model.safetensorswith the adapter weights.
.json and the weights file name must end in .safetensors.
Register an adapter
1
Upload the adapter files
Upload both files to Valar with Each upload returns a file object with an
purpose set to lora. The Files endpoint is OpenAI-compatible, so the OpenAI SDK works directly.id you pass to the next step.2
Create the LoRA
Register the adapter against one or more supported base models. The response is a LoRA object created in the
name must be 2 to 64 characters, lowercase alphanumeric or dashes, start and end with an alphanumeric character, and be unique within your organization.verifying status:Validation and status
Every adapter is reviewed before it can be used. A LoRA moves through three states:Manage adapters
List every adapter in your organization, fetch one by name or id, or delete one.GET /v1/loras returns { "object": "list", "data": [ ... ] }. A delete returns { "id": "...", "object": "lora.deleted", "deleted": true }.
Using a LoRA (coming soon)
Once an adapter isdeployed, you will be able to run it by referencing it on a request to a supported base model. This is not yet available. When it ships, this section will document the exact request field and any completion-window constraints.