O Ollama é uma ferramenta gratuita que permite executar o LLMS (grandes modelos de idiomas) diretamente em sua máquina local. Isso é conveniente para desenvolvedores de IA, pesquisadores ou apenas experimentar e aprender sobre a IA.
Há muito o que entender inicialmente, então a melhor coisa a fazer é apenas entrar, configurá -lo e usá -lo. Em seguida, faça perguntas ao longo do caminho.
Baixe Ollama
Em primeiro lugar, vamos baixar o ollama em: https://ollama.com/download para o seu sistema operacional específico e instale -o. Quando instalado, você não verá nada. Ele apenas funciona em segundo plano. Para interagir com ele, você terá que usar a linha de comando.
Interagindo com Ollama
Depois que o Ollama for instalado, abra seu terminal e digite ollama --version
. Aqui você pode ver que estou executando 0.5.11

Vamos nos familiarizar com alguns comandos básicos. Tipo ollama --help
para mostrar alguns comandos básicos, como:
seandotau@aseandotaus-MBP ~ % ollama --help
Large language model runner
Usage:
ollama (flags)
ollama (command)
Available Commands:
serve Start ollama
create Create a model from a Modelfile
show Show information for a model
run Run a model
stop Stop a running model
pull Pull a model from a registry
push Push a model to a registry
list List models
ps List running models
cp Copy a model
rm Remove a model
help Help about any command
Flags:
-h, --help help for ollama
-v, --version Show version information
Esses comando são auto -explicativos depois de executá -lo algumas vezes, mas para os iniciantes, vamos passar por alguns exemplos.
Ollama serve
Isso inicia o seu aplicativo Ollama via linha de comando. Se você possui o aplicativo “GUI”, pode executar isso e não precisar executar o comando de servir. Além disso, se você executar outros comandos, como ollama list
o aplicativo Ollama “GUI” começará automaticamente. Tudo isso é dizer que você provavelmente não precisa correr ollama serve
.
seandotau@aseandotaus-MBP ~ % ollama serve
2025/02/15 21:32:18 routes.go:1186: INFO server config env="map(HTTPS_PROXY: HTTP_PROXY: NO_PROXY: OLLAMA_DEBUG:false OLLAMA_FLASH_ATTENTION:false OLLAMA_GPU_OVERHEAD:0 OLLAMA_HOST:http://127.0.0.1:11434 OLLAMA_KEEP_ALIVE:5m0s OLLAMA_KV_CACHE_TYPE: OLLAMA_LLM_LIBRARY: OLLAMA_LOAD_TIMEOUT:5m0s OLLAMA_MAX_LOADED_MODELS:0 OLLAMA_MAX_QUEUE:512 OLLAMA_MODELS:/Users/seandotau/.ollama/models OLLAMA_MULTIUSER_CACHE:false OLLAMA_NOHISTORY:false OLLAMA_NOPRUNE:false OLLAMA_NUM_PARALLEL:0 OLLAMA_ORIGINS:(http://localhost https://localhost http://localhost:* https://localhost:* http://127.0.0.1 https://127.0.0.1 http://127.0.0.1:* https://127.0.0.1:* http://0.0.0.0 https://0.0.0.0 http://0.0.0.0:* https://0.0.0.0:* app://* file://* tauri://* vscode-webview://*) OLLAMA_SCHED_SPREAD:false http_proxy: https_proxy: no_proxy:)"
time=2025-02-15T21:32:18.285+11:00 level=INFO source=images.go:432 msg="total blobs: 6"
time=2025-02-15T21:32:18.285+11:00 level=INFO source=images.go:439 msg="total unused blobs removed: 0"
time=2025-02-15T21:32:18.286+11:00 level=INFO source=routes.go:1237 msg="Listening on 127.0.0.1:11434 (version 0.5.11)"
time=2025-02-15T21:32:18.335+11:00 level=INFO source=types.go:130 msg="inference compute" id=0 library=metal variant="" compute="" driver=0.0 name="" total="21.3 GiB" available="21.3 GiB"
(GIN) 2025/02/15 - 21:32:43 | 200 | 66.833µs | 127.0.0.1 | HEAD "/"
(GIN) 2025/02/15 - 21:32:43 | 200 | 1.078416ms | 127.0.0.1 | GET "/api/tags"
(GIN) 2025/02/15 - 21:32:57 | 200 | 28.167µs | 127.0.0.1 | HEAD "/"
Lista Ollama
Isso listará os modelos que você baixou. Ele mostrará em branco por enquanto, então vamos baixar um modelo.
seandotau@aseandotaus-MBP ~ % ollama list
NAME ID SIZE MODIFIED
Ollama Pull
Para baixar um modelo que precisamos executar ollama pull
mas precisamos saber qual modelo puxar. É aqui que: https://ollama.com/search entra em jogo. Ele lista todas as opções de modelo disponíveis, mas como você escolhe?
Resumo do modelo
LLAMA: LLAMA é um modelo de PNL (processamento de linguagem natural) para tarefas como geração de texto, resumo e tradução para a máquina. É ideal para bate-papo de uso geral, IA de conversação e resposta a perguntas.
Mistral: Mistral, semelhante à lhama, lida com a geração de código e análise de dados em larga escala, tornando-o ideal para desenvolvedores que trabalham em plataformas de codificação acionadas pela IA
Phi-4: Um modelo de idioma AI desenvolvido pela Microsoft, é um Parâmetro 14B Modelo de pequena linguagem de última geração (SLM) que se destaca em raciocínio complexo em áreas como matemática, além do processamento convencional de linguagem.
LLAVA: LLAVA é um modelo multimodal capaz de processar texto e imagens. (Um modelo multimodal é um sistema de IA que pode processar e entender vários tipos de informações ou “modos” – como texto, imagens, áudio e vídeo – geralmente simultaneamente.)
Código LLAMA: Um grande modelo de idioma que pode usar os avisos de texto para gerar e discutir o código.
Estes são apenas um pequeno trecho do que está disponível. O que você também notará são opções de tamanho do modelo. Por exemplo, para LLAMA3.2, há uma opção de tamanho de 1 bilhão ou 3 bilhões de parâmetros. Quanto mais parâmetros, mais preciso o modelo, mas maior o tamanho do modelo. Por exemplo, puxar llama 3.2: 1b levará 1,3 GB, mas a llama 3.2: 3b levará 2 GB. Compare isso com o LLAMA 3.1: 140B, que levará 243 GB de espaço em disco.
Então agora sabemos sobre tipos de modelos e tamanhos de modelos, vamos puxar o llama3.2, que é simples e leve. Correr ollama pull llama3.2
.
Observe que não adicionei o parâmetro do modelo? Se for deixado de fora, será padrão ollama pull llama3.2:latest
que atualmente é o equivalente a ollama pull llama3.2:3b
.
seandotau@aseandotaus-MBP ~ % ollama pull llama3.2
pulling manifest
pulling dde5aa3fc5ff... 100% ▕████████████████████████████████▏ 2.0 GB
pulling 966de95ca8a6... 100% ▕████████████████████████████████▏ 1.4 KB
pulling fcc5a6bec9da... 100% ▕████████████████████████████████▏ 7.7 KB
pulling a70ff7e570d9... 100% ▕████████████████████████████████▏ 6.0 KB
pulling 56bb8bd477a5... 100% ▕████████████████████████████████▏ 96 B
pulling 34bb5ab01051... 100% ▕████████████████████████████████▏ 561 B
verifying sha256 digest
writing manifest
success
Show Ollama
Agora se você correr ollama list
Você deve ver o modelo que você acabou de puxar.
seandotau@aseandotaus-MBP ~ % ollama list
NAME ID SIZE MODIFIED
llama3.2:3b a80c4f17acd5 2.0 GB 28 seconds ago
O que é legal é que você também pode mostrar as informações deste modelo executando ollama show llama3.2
seandotau@aseandotaus-MBP ~ % ollama show llama3.2
Model
architecture llama
parameters 3.2B
context length 131072
embedding length 3072
quantization Q4_K_M
Parameters
stop "<|start_header_id|>"
stop "<|end_header_id|>"
stop "<|eot_id|>"
License
LLAMA 3.2 COMMUNITY LICENSE AGREEMENT
Llama 3.2 Version Release Date: September 25, 2024
ollama rm
Para remover um modelo, execute ollama rm llama3.2
por exemplo. Dica: se você interromper um download, terá arquivos parciais em seu diretório /seser/seandotau/.ollama/models/blob, para que você terá que ir até lá e excluí -lo manualmente.
Ollama empurre, crie, cp
Esses comandos aqui você provavelmente não estará usando muito, a menos que crie modelos, copiando modelos ou empurrando -os para o registro do modelo para que outras pessoas usem.
Ollama corre
Agora vem o momento da verdade. Executando o modelo e fornecendo uma unidade de teste. Quando você executa o modelo, você pode começar a interagir com ele.
seandotau@aseandotaus-MBP ~ % ollama run llama3.2
>>> what is the capital of Germany?
The capital of Germany is Berlin.
>>> Send a message (/? for help)
Legal certo? Para sair, tipo /tchau
Recursos mais legais
Pedindo à IA para resumir algum texto
seandotau@aseandotaus-MBP ~ % ollama run llama3.2 "summarise this file in 100 words: $(cat hobbit.text )"
Here is a 100-word summary of the file:
The Hobbit, written by J.R.R. Tolkien in 1937, is a classic children's fantasy novel that has sold over 100
million copies worldwide. The story follows Bilbo Baggins, a hobbit who joins Gandalf and dwarves on a quest to
reclaim their treasure from the dragon Smaug. The book features themes of personal growth, heroism, and warfare,
drawing from Tolkien's experiences in World War I and his scholarly knowledge of Germanic philology and
mythology. Adaptations for stage, screen, radio, board games, and video games have received critical
recognition, cementing its legacy as a beloved children's fantasy novel.
Verifique se o arquivo de texto está no diretório atual em que você está.
Pedindo à IA para interpretar uma foto
O que você notará aqui é que Ollama puxará o modelo especificado primeiro (como eu ainda não o tinha) e depois o executará.
seandotau@aseandotaus-MBP ~ % ollama run llava "What's in this image? /Users/seandotau/image.png"
pulling manifest
pulling 170370233dd5... 100% ▕██████████████████████████████████████████████████████▏ 4.1 GB
pulling 72d6f08a42f6... 100% ▕██████████████████████████████████████████████████████▏ 624 MB
pulling 43070e2d4e53... 100% ▕██████████████████████████████████████████████████████▏ 11 KB
pulling c43332387573... 100% ▕██████████████████████████████████████████████████████▏ 67 B
pulling ed11eda7790d... 100% ▕██████████████████████████████████████████████████████▏ 30 B
pulling 7c658f9561e5... 100% ▕██████████████████████████████████████████████████████▏ 564 B
verifying sha256 digest
writing manifest
success
Added image '/Users/seandotau/image.png'
The image features Pikachu, a popular Pokémon character from the franchise. It is a small electric mouse with
yellow fur, large ears, and big round eyes. Pikachu is standing upright on its hind legs, and it appears to be
looking directly at the camera.
FYI: Esta era a imagem.

Usando CURL
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2",
"prompt":"Why is the sky blue?"
}'
Observe que a API Ollama retorna o streaming de respostas JSON por padrão, com cada resposta sendo um objeto JSON separado em uma nova linha. Isso é conhecido como formato JSON Lines (JSONL). Se você quiser ver a resposta completa em um formato mais legível, você pode transmitir a saída jq
Para extrair apenas o conteúdo da resposta:
curl http://localhost:11434/api/generate \
-H 'Content-Type: application/json' \
-d '{"model": "llama3.2", "prompt": "Why is the sky blue?"}' \
| jq -r '.response'
O comportamento de streaming é por design – ele permite que a API envie respostas parciais à medida que elas são geradas, em vez de esperar a resposta completa. Se você precisar desativar o streaming, pode adicionar "stream": false
para o seu pedido JSON:
curl http://localhost:11434/api/generate \
-H 'Content-Type: application/json' \
-d '{"model": "llama3.2", "prompt": "Why is the sky blue?", "stream": false}'