105 lines
2.6 KiB
Markdown
105 lines
2.6 KiB
Markdown
# Visao geral da CLI
|
|
|
|
O binario `localllm` e a interface de linha de comando do projeto. Ele foi desenhado para diagnostico, automacao e operacao do backend local, com suporte a saida em texto ou JSON.
|
|
|
|
## Onde esta a CLI
|
|
|
|
- codigo: `crates/localllm-cli/src/main.rs`
|
|
- nome do binario: `localllm`
|
|
|
|
## Flags globais
|
|
|
|
As flags globais atuais sao:
|
|
|
|
- `--server` - base URL do backend, default `http://127.0.0.1:8080`
|
|
- `--dry-run` - mostra a acao planejada sem executar a chamada real
|
|
- `--api-key` - chave de auth opcional
|
|
- `--models-dir` - diretorio local de modelos, default `./models`
|
|
- `--format text|json` - formato de saida
|
|
|
|
## Superficie de comandos
|
|
|
|
Comandos raiz atuais:
|
|
|
|
- `status`
|
|
- `models`
|
|
- `auth`
|
|
- `config`
|
|
- `bench`
|
|
- `logs`
|
|
- `doctor`
|
|
|
|
## Filosofia atual
|
|
|
|
A CLI hoje mistura tres tipos de fluxo:
|
|
|
|
- comandos com execucao HTTP real contra o backend atual
|
|
- comandos locais/de operacao previstos para uma superficie maior de controle
|
|
- comandos que ja possuem parsing e planejamento, mas ainda nao estao todos ligados a uma acao remota completa
|
|
|
|
Essa distincao importa para documentacao: a CLI tem uma superficie ampla, mas a parte realmente comprovada contra o backend HTTP atual e menor.
|
|
|
|
## O que esta mais consolidado hoje
|
|
|
|
Os fluxos mais maduros no estado atual do repositorio sao:
|
|
|
|
- `status`
|
|
- `models list`
|
|
- `bench throughput`
|
|
|
|
Esses fluxos fazem mais sentido quando o backend `inference-server` esta rodando.
|
|
|
|
## Formatos de saida
|
|
|
|
### Texto
|
|
|
|
Bom para uso humano, leitura manual e diagnostico rapido.
|
|
|
|
### JSON
|
|
|
|
Bom para scripts, CI e integracoes. Use `--format json`.
|
|
|
|
## Dry run
|
|
|
|
Use `--dry-run` quando quiser validar qual URL, qual operacao ou qual tipo de acao a CLI pretende executar sem realmente disparar a operacao.
|
|
|
|
Exemplo:
|
|
|
|
```bash
|
|
cargo run -p localllm-cli -- --dry-run status
|
|
```
|
|
|
|
## Exemplos rapidos
|
|
|
|
### Verificar saude do backend
|
|
|
|
```bash
|
|
cargo run -p localllm-cli -- status
|
|
```
|
|
|
|
### Listar modelos via API
|
|
|
|
```bash
|
|
cargo run -p localllm-cli -- models list
|
|
```
|
|
|
|
### Rodar benchmark de throughput
|
|
|
|
```bash
|
|
cargo run -p localllm-cli -- bench throughput --samples 3 --prompt-tokens 256 --completion-tokens 128
|
|
```
|
|
|
|
### Usar auth
|
|
|
|
```bash
|
|
cargo run -p localllm-cli -- --api-key dev-secret status
|
|
```
|
|
|
|
## Limitacoes atuais
|
|
|
|
- nem todos os subcomandos do parser correspondem a capacidades HTTP publicas do backend atual
|
|
- a CLI foi expandida por etapas; por isso alguns comandos sao melhor entendidos como superficie de controle em evolucao
|
|
- documente e use os comandos de operacao real com mais confianca em `status`, `models list` e `bench throughput`
|
|
|
|
Para a referencia completa, siga para `commands.md`.
|