Serve your fine-tuned models on provocapi without managing infrastructure. Upload a LoRA adapter, and we hot-load it onto the base model’s workers — no restart, no downtime.
/v1/adapters endpoint.model:adapter-name (e.g., llama-3.1-70b-instruct:my-finetuned-v3).LoRA adapters are supported on all chat models in the catalog. Embedding models do not support LoRA.
curl -X POST https://inference.provocative.earth/v1/adapters \
-H "Authorization: Bearer pk-prov-YOUR-KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "my-finetuned-v3",
"base_model": "llama-3.1-70b-instruct",
"repo": "my-org/llama-lora-v3",
"revision": "main"
}'
curl -X POST https://inference.provocative.earth/v1/adapters/upload \
-H "Authorization: Bearer pk-prov-YOUR-KEY" \
-F "name=my-finetuned-v3" \
-F "base_model=llama-3.1-70b-instruct" \
-F "file=@adapter_model.safetensors"
Pass the adapter name after a colon in the model field:
response = client.chat.completions.create(
model="llama-3.1-70b-instruct:my-finetuned-v3",
messages=[{"role": "user", "content": "hello"}],
)
The router strips the adapter suffix for model pool lookup and forwards the full model:adapter string to the worker. vLLM hot-loads the adapter if it’s not already in memory.
curl https://inference.provocative.earth/v1/adapters \
-H "Authorization: Bearer pk-prov-YOUR-KEY"
curl -X DELETE https://inference.provocative.earth/v1/adapters/adp_abc123 \
-H "Authorization: Bearer pk-prov-YOUR-KEY"
| Tier | Max adapters | Max adapter size |
|---|---|---|
| Shared | 20 | 500 MB |
| Reserved | 200 | 500 MB |
| Dedicated | 200 | 500 MB |
--enable-lora support.--max-loras=8).--max-lora-rank=64).