Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions docs/LORA.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# LoRA Adapter Support — dotLLM

> **Status**: design spec, not implemented. This is roadmap step 47. Only the `IAdapterManager`
> abstraction and `InferenceRequest.AdapterId` exist today — there is no adapter loader, no server
> endpoint, and no per-request adapter selection. Everything below describes the intended design.

## Overview

LoRA (Low-Rank Adaptation) enables fine-tuned model behaviors without modifying base weights. Multiple adapters can coexist on the same base model, with per-request adapter selection.
Expand Down
11 changes: 9 additions & 2 deletions docs/SERVER.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,18 @@ Primary chat endpoint. Accepts OpenAI-compatible request format.
"logit_bias": {"1234": -100},
"frequency_penalty": 0.5,
"presence_penalty": 0.3,
"n": 1,
"lora_adapter": "customer-support"
"n": 1
}
```

> **Adapter selection**: there is no `lora_adapter` request field (it is not part of the OpenAI
> surface either, and the server ignores unknown fields silently). LoRA serving is roadmap step 47
> and is not implemented: the engine has the `IAdapterManager` abstraction and
> `InferenceRequest.AdapterId`, but there is no implementation, no adapter admin endpoint, and no
> way to select an adapter per request. Until then, serve an adapted model by merging the adapter
> into the weights offline and loading the merged model — via `--model` at startup or
> `POST /v1/models/load`. See [LORA.md](LORA.md) for the planned design.

**Response** (non-streaming):
```json
{
Expand Down