Baixar um modelo no Ollama
/v1/ai/local/pulldesde A2token adminQuando usar
Começa ollama pull pela API HTTP do Ollama local (POST /api/pull, em streaming) e volta na hora; acompanhe por GET /v1/ai/local/pull. Um download por vez. model é um nome da biblioteca do Ollama (qwen2.5:7b, llama3.2:3b); URLs e registros de terceiros são recusados.
Autenticação
Exige o token admin. Com um token de instância a resposta é 403 forbidden.
Parâmetros
Corpo (JSON)
| Nome | Tipo | Descrição |
|---|---|---|
modelobrigatório | string |
Exemplo
curl -s -X POST "$LITEZAP_URL/v1/ai/local/pull" \ -H "Authorization: Bearer $LITEZAP_ADMIN_TOKEN"const res = await fetch("http://localhost:8787/v1/ai/local/pull", { method: "POST", headers: { Authorization: `Bearer ${process.env.LITEZAP_ADMIN_TOKEN}` },});console.log(res.status, res.status === 204 ? "" : await res.json());import osimport requests
r = requests.post( "http://localhost:8787/v1/ai/local/pull", headers={"Authorization": f"Bearer {os.environ['LITEZAP_ADMIN_TOKEN']}"}, timeout=150,)print(r.status_code, r.json() if r.content else "")package main
import ( "fmt" "io" "net/http" "os")
func main() { req, _ := http.NewRequest("POST", "http://localhost:8787/v1/ai/local/pull", nil) req.Header.Set("Authorization", "Bearer "+os.Getenv("LITEZAP_ADMIN_TOKEN")) resp, err := http.DefaultClient.Do(req) if err != nil { panic(err) } defer resp.Body.Close() out, _ := io.ReadAll(resp.Body) fmt.Println(resp.Status, string(out))}<?phprequire 'vendor/autoload.php'; // composer require guzzlehttp/guzzle
$client = new GuzzleHttp\Client(['base_uri' => 'http://localhost:8787']);$res = $client->request('POST', '/v1/ai/local/pull', [ 'headers' => ['Authorization' => 'Bearer ' . getenv('LITEZAP_ADMIN_TOKEN')], 'http_errors' => false,]);echo $res->getStatusCode(), ' ', $res->getBody(), PHP_EOL;Nos exemplos, LITEZAP_URL é a URL base (ex.: http://localhost:8787) e o token vem deLITEZAP_TOKEN (instância) ou LITEZAP_ADMIN_TOKEN.
Resposta
202 Download iniciado.
Campos de object
pull | LocalAIPull | |
pull.model | string | |
pull.status | string | Última linha de status do Ollama (pulling manifest, verifying..., success). |
pull.total_bytes | integer | |
pull.completed_bytes | integer | |
pull.percent | number | |
pull.done | boolean | |
pull.success | boolean | |
pull.error | string | |
pull.started_at | string | |
pull.updated_at | string |
Erros
| Código | HTTP | Retentável | O que fazer |
|---|---|---|---|
validation_failed | 400 | não | Corrija o corpo ou os parâmetros; a message diz o campo. |
unauthorized | 401 | não | Envie Authorization: Bearer <token> válido. |
forbidden | 403 | não | Use o token certo (admin, ou o da própria instância). |
pull_running | 409 | não | |
ollama_unreachable | 503 | não |
Todo erro usa o envelope {"error":{"code","message","retryable"}}. Tabela completa em Erros.
Outras operações de Atendente IA: Ler hook de agente · Configurar hook de agente · Remover hook de agente · Ligar ou desligar o atendente numa conversa · Últimas chamadas do atendente · Provedores de IA grátis · Ollama neste computador · Progresso do download do modelo · Cancelar o download do modelo · Ler o Atendente LiteZap · Configurar provedor do atendente · Modos prontos do atendente · Listar agentes · Criar agente · Ler agente · Alterar agente · Excluir agente · Ativar agente · Simular conversa · Uso e custo do atendente

