---
name: diffusers_load_lora
kind: function
lang: py
domain: ml
version: "1.0.0"
purity: impure
signature: "def diffusers_load_lora(pipe: Any, lora: LoraRef) -> Any"
description: "Carga un adaptador LoRA en un pipeline diffusers via pipe.load_lora_weights. Si lora.weight != 1.0, aplica set_adapters para escalar la contribucion del LoRA."
tags: [diffusers, ml, lora, image-generation, fine-tuning, pendiente-usar]
uses_functions: []
uses_types: [lora_ref_py_ml]
returns: []
returns_optional: false
error_type: "error_go_core"
imports: [diffusers]
params:
  - name: pipe
    desc: "Pipeline diffusers que soporte load_lora_weights (SD1.5, SDXL, etc.)."
  - name: lora
    desc: "Referencia al adaptador LoRA. lora.path al .safetensors o directorio. lora.weight escala la fusion (1.0 = completo, 0.5 = mitad)."
output: "El mismo pipe con el LoRA cargado y peso aplicado. Modificacion in-place, retorna pipe para composicion."
tested: false
tests: []
test_file_path: ""
file_path: "python/functions/ml/diffusers_load_lora.py"
---

## Ejemplo

```python
from diffusers_load_lora import diffusers_load_lora
from lora_ref import LoraRef

lora = LoraRef(path="/path/to/my_lora.safetensors", weight=0.8)
pipe = diffusers_load_lora(pipe, lora)
```

## Notas

Usa `pipe.load_lora_weights(path)` para cargar. Si `lora.weight != 1.0`:
- Intenta `pipe.set_adapters(["default"], adapter_weights=[weight])` (diffusers >= 0.20).
- Fallback a `pipe.fuse_lora(lora_scale=weight)` para versiones antiguas.

El campo `lora.scale` (override de alpha) no se aplica aqui — diffusers no expone
un parametro directo equivalente en la API publica actual. Se puede setear via
`pipe.load_lora_weights(path, weight_name=...)` si el archivo tiene nombre especifico.

Import lazy de diffusers — ImportError descriptivo si no instalado.
