Files
ForgeLM/docs/api/configuration.md
T

102 lines
2.8 KiB
Markdown

# Configuracao do servidor
Esta pagina resume a configuracao atual do backend local do ForgeLM.
## Variaveis de ambiente principais
### Modelo e bind
- `LOCALLLM_MODEL` - caminho do arquivo `.gguf` a ser carregado
- `LOCALLLM_ADDR` - endereco de bind do servidor, default `0.0.0.0:8080`
- `LOCALLLM_MODEL_ALIASES` - aliases separados por virgula para o modelo canonico
### Perfil de runtime
- `LOCALLLM_PROFILE` - `balanced_9b`, `cpu_fallback` ou default `Turbo4B`
- `LOCALLLM_GPU_LAYERS`
- `LOCALLLM_CTX`
- `LOCALLLM_BATCH`
- `LOCALLLM_UBATCH`
- `LOCALLLM_THREADS`
- `LOCALLLM_THREADS_BATCH`
Esses campos sobrepoem os defaults do perfil selecionado.
## Perfis conhecidos
### Turbo4B
- `n_gpu_layers = 999`
- `n_ctx = 4096`
- `n_batch = 512`
- `n_ubatch = 128`
- `flash_attn = true`
- `n_threads = 8`
### Balanced9B
- `n_gpu_layers = 999`
- `n_ctx = 2048`
- `n_batch = 256`
- `n_ubatch = 64`
- `flash_attn = true`
- `n_threads = 8`
### CpuFallback
- `n_gpu_layers = 0`
- `n_ctx = 2048`
- `n_batch = 128`
- `n_ubatch = 32`
- `flash_attn = false`
- `n_threads = available_parallelism()`
## Auth
- `LOCALLLM_API_KEY` - habilita auth por chave quando definido
- `LOCALLLM_AUTH_HEADER` - nome do cabecalho preferencial; default `authorization`
- `LOCALLLM_AUTH_SCHEME` - prefixo opcional para remover antes da comparacao
Se `LOCALLLM_API_KEY` estiver vazio ou ausente, a API funciona sem auth para `GET /v1/models` e `POST /v1/chat/completions`.
## CORS
- `LOCALLLM_CORS_ORIGINS` - lista separada por virgula
Comportamento atual:
- sem configuracao explicita, o servidor libera `*`
- quando a variavel existe, o backend constroi uma allowlist literal
## Prompt de sistema e tool calling
- `LOCALLLM_SYSTEM_PROMPT` - prompt de sistema default injetado quando a request nao traz mensagem `system` ou `developer`
- `LOCALLLM_ENABLE_TOOL_CALLS` - habilita/desabilita tool calling no servidor
## Exemplo de ambiente minimo
```bash
set LOCALLLM_MODEL=D:\modelos\meu-modelo.gguf
set LOCALLLM_ADDR=0.0.0.0:8080
cargo run -p inference-server
```
## Exemplo com auth
```bash
set LOCALLLM_MODEL=D:\modelos\meu-modelo.gguf
set LOCALLLM_API_KEY=dev-secret
set LOCALLLM_AUTH_SCHEME=Bearer
cargo run -p inference-server
```
## Alias de modelos
Quando `LOCALLLM_MODEL_ALIASES` esta definido, o backend expoe aliases adicionais em `GET /v1/models`. Esses aliases apontam para o mesmo `root` do modelo canonico e sao resolvidos pelo backend durante a validacao do campo `model`.
## Observacoes operacionais
- o banner do servidor imprime `127.0.0.1:<porta>` como endereco recomendado para consumo local quando o bind usa `0.0.0.0`
- o app Tauri usa readiness por `GET /health` ao iniciar o runtime local
- o backend nao persiste configuracao propria em arquivo; a persistencia de runtime local do app acontece no backend Tauri, nao dentro do `inference-server`