102 lines
2.8 KiB
Markdown
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`
|