Skip to main content
LoRA adapters let you customize a supported base model with your own PEFT-trained weights. You upload the adapter, register it against one or more eligible base models, and Valar validates it before it becomes usable.
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 return 403 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.json with peft_type set to "LORA", task_type set to "CAUSAL_LM", base_model_name_or_path matching the base model you register against, an adapter rank r no greater than the base model’s max rank, and target_modules within the base model’s allowed set.
  • adapter_model.safetensors with the adapter weights.
Each file may be up to 5 GiB. The config file name must end in .json and the weights file name must end in .safetensors.

Register an adapter

1

Upload the adapter files

Upload both files to Valar with purpose set to lora. The Files endpoint is OpenAI-compatible, so the OpenAI SDK works directly.
Each upload returns a file object with an id you pass to the next step.
2

Create the LoRA

Register the adapter against one or more supported base models. name must be 2 to 64 characters, lowercase alphanumeric or dashes, start and end with an alphanumeric character, and be unique within your organization.
The response is a LoRA object created in the 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 is deployed, 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.