O que é a API do Ollama?

Ollama é uma ferramenta de código aberto para executar modelos de linguagem de grande escala (LLMs) localmente na sua máquina. Ela fornece uma API REST que aceita requisições HTTP, permitindo que você interaja com modelos como Llama 3, Mistral, Gemma e muitos outros diretamente do seu terminal ou código de aplicação. A API segue um padrão simples de requisição/resposta baseado em JSON e suporta geração de texto, conversas de chat com múltiplos turnos e embeddings de texto.

cURL é a forma mais comum de testar e interagir com a API do Ollama. No entanto, construir o comando cURL correto com todos os parâmetros, cabeçalhos e formatação do corpo JSON adequados pode ser tedioso e sujeito a erros, especialmente ao ajustar opções do modelo como temperatura e amostragem top-k.

Descrição da ferramenta

Esta ferramenta gera comandos cURL prontos para uso nos endpoints da API do Ollama. Selecione um endpoint, configure seu modelo e parâmetros, e obtenha um comando cURL devidamente formatado instantaneamente. O comando gerado inclui todos os cabeçalhos necessários, a estrutura do corpo JSON e as opções do modelo — pronto para colar no seu terminal.

Exemplos

Geração básica de texto:

curl -X POST "http://localhost:11434/api/generate" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "Explain quantum computing in simple terms",
  "stream": true
}'

Chat com prompt de sistema e temperatura personalizada:

curl -X POST "http://localhost:11434/api/chat" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "messages": [
    { "role": "system", "content": "You are a helpful coding assistant." },
    { "role": "user", "content": "Write a Python function to reverse a string" }
  ],
  "stream": false,
  "options": {
    "temperature": 0.3
  }
}'

Gerar embeddings:

curl -X POST "http://localhost:11434/api/embeddings" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "llama3",
  "prompt": "The quick brown fox jumps over the lazy dog",
  "stream": false
}'

Funcionalidades

  • Suporta os três principais endpoints do Ollama: /api/generate, /api/chat e /api/embeddings
  • Opções de modelo configuráveis: temperatura, top-p, top-k, máximo de tokens, penalidade de repetição e seed
  • Suporte a prompt de sistema para os endpoints de geração e chat
  • Opção de formato de resposta JSON para saída estruturada
  • Download do comando gerado como arquivo .sh

Explicação das opções

Opção Descrição Padrão Intervalo
Temperatura Controla a aleatoriedade da saída. Valores mais baixos produzem texto mais focado; valores mais altos aumentam a criatividade. 0,7 0–2
Top P Limiar de amostragem por núcleo. O modelo considera tokens cuja probabilidade acumulada atinge este valor. 0,9 0–1
Top K Limita a seleção de tokens aos K candidatos mais prováveis em cada etapa. 40 1–100
Máximo de tokens Número máximo de tokens a serem gerados na resposta. Defina como -1 para ilimitado. 128 -1–4096
Penalidade de repetição Penaliza tokens repetidos. Valores acima de 1,0 desencorajam a repetição. 1,1 0–2
Seed Seed fixo para resultados reproduzíveis. Deixe em branco para resultados aleatórios. Qualquer inteiro
Formato de resposta Defina como JSON para forçar o modelo a retornar uma saída JSON válida. Nenhum Nenhum / JSON
Stream Quando ativado, a resposta é transmitida token por token. Desative para receber a resposta completa de uma vez. Ativado Ativado / Desativado

Casos de uso

  • Prototipagem e teste rápido de chamadas à API do Ollama a partir do terminal sem escrever JSON manualmente
  • Geração de comandos cURL para compartilhar com colegas de equipe ou incluir em documentação
  • Experimentação com diferentes parâmetros de modelo para encontrar as configurações ideais para o seu caso de uso