Get up and running with Kimi-K2.5, GLM-5, MiniMax, DeepSeek, gpt-oss, Qwen, Gemma and other models. https://ollama.com
Find a file
Jesse Gross 5a0ff3116d server: apply structured outputs in a single pass on thinking models
A format on a thinking model ran two generations: an unconstrained one,
cancelled once the parser reported content, then a re-rendered prompt with
the parsed thinking under the grammar. The restart cost a second prefill,
dropped the chunk that crossed the boundary, needed a harmony prompt hack,
stitched metrics across the two requests, and on MLX could leak a stray
first token into the JSON. The generate endpoint never deferred at all, so
its JSON was forced inside the thinking.

Both handlers now make one completion request that names the strings
ending the response's thinking, from the builtin parser or the generic
thinking parser, and the runner constrains only the content after them in
a single generation. The prompt is evaluated once and metrics pass straight
through. A raw generate prompt names no strings, since nothing says where
its response starts, and its format applies from the first token as
before. A format now applies to whatever follows the thinking, so a tool
call can no longer take the place of formatted content, which was already
the case with thinking off; harmony is the exception, since its tool calls
precede the final message.

The per-token metrics flag both runners carried for the cancelled first
pass has no caller left and goes with the two-pass code and its tests.

Fixes #18441
Fixes #17544
Fixes #14196
Fixes #10929
2026-09-22 11:24:11 -07:00
.github ci: harden release artifact uploads (#18516) 2026-09-17 16:28:46 -07:00
anthropic api: expose model thinking levels and defaults (#18473) 2026-09-18 14:10:53 -07:00
api api: expose model thinking levels and defaults (#18473) 2026-09-18 14:10:53 -07:00
app api: expose model thinking levels and defaults (#18473) 2026-09-18 14:10:53 -07:00
auth
cmake mlx, mlxrunner: move the MLX engine out of x/ 2026-09-16 14:06:08 -07:00
cmd api: expose model thinking levels and defaults (#18473) 2026-09-18 14:10:53 -07:00
create nemotron_h: add MLX vision support (#17714) 2026-09-17 16:29:14 -07:00
discover Clean up dead code (#17381) 2026-08-27 14:33:51 -07:00
docs docs: clarify integrations overview and add assistant icons (#18511) 2026-09-17 14:10:18 -07:00
envconfig create: add server-side MLX imports and drop GGUF conversion (#14969) 2026-09-14 20:32:36 -07:00
format
fs mlx, mlxrunner: move the MLX engine out of x/ 2026-09-16 14:06:08 -07:00
harmony parsers: report the strings that end a response's thinking 2026-09-22 11:24:11 -07:00
integration mlx, mlxrunner: move the MLX engine out of x/ 2026-09-16 14:06:08 -07:00
internal api: expose model thinking levels and defaults (#18473) 2026-09-18 14:10:53 -07:00
llama mlx, mlxrunner: move the MLX engine out of x/ 2026-09-16 14:06:08 -07:00
llm server: apply structured outputs in a single pass on thinking models 2026-09-22 11:24:11 -07:00
logutil runner: Remove CGO engines, use llama-server exclusively for GGML models (#16031) 2026-05-29 13:35:47 -07:00
manifest mlxrunner: read model manifests through the manifest package 2026-09-16 14:06:08 -07:00
middleware api: expose model thinking levels and defaults (#18473) 2026-09-18 14:10:53 -07:00
ml tokenizer, ml: remove dead code 2026-09-16 14:06:08 -07:00
mlx mlx, mlxrunner: move the MLX engine out of x/ 2026-09-16 14:06:08 -07:00
mlxrunner server: apply structured outputs in a single pass on thinking models 2026-09-22 11:24:11 -07:00
model parsers: report the strings that end a response's thinking 2026-09-22 11:24:11 -07:00
openai api: expose model thinking levels and defaults (#18473) 2026-09-18 14:10:53 -07:00
parser create: add server-side MLX imports and drop GGUF conversion (#14969) 2026-09-14 20:32:36 -07:00
progress tokenizer, ml: remove dead code 2026-09-16 14:06:08 -07:00
readline lint fixes (#17897) 2026-08-20 10:23:25 -07:00
scripts build: go deps (#18161) 2026-09-01 12:59:48 -07:00
server server: apply structured outputs in a single pass on thinking models 2026-09-22 11:24:11 -07:00
template create: add server-side MLX imports and drop GGUF conversion (#14969) 2026-09-14 20:32:36 -07:00
thinking create: add server-side MLX imports and drop GGUF conversion (#14969) 2026-09-14 20:32:36 -07:00
tools tools: ignore braces inside JSON strings when detecting tool call end (#16937) 2026-06-27 12:00:55 -07:00
types api: expose model thinking levels and defaults (#18473) 2026-09-18 14:10:53 -07:00
version
x/transfer x/transfer, server: tighten redirect handling for registry requests (#18512) 2026-09-17 14:21:28 -07:00
.dockerignore
.gitattributes tokenizer, ml: remove dead code 2026-09-16 14:06:08 -07:00
.gitignore create: Clean up experimental paths, fix create from existing safetensor model (#14679) 2026-04-07 08:12:57 -07:00
.golangci.yaml mlx, mlxrunner: move the MLX engine out of x/ 2026-09-16 14:06:08 -07:00
AGENTS.md Add AGENTS.md and CLAUDE.md to root repository (#16604) 2026-06-07 10:57:59 -07:00
CLAUDE.md Add AGENTS.md and CLAUDE.md to root repository (#16604) 2026-06-07 10:57:59 -07:00
CMakeLists.txt mlx: fix mac assumptions on linux/windows (#17898) 2026-08-20 09:50:10 -07:00
CMakePresets.json runner: Remove CGO engines, use llama-server exclusively for GGML models (#16031) 2026-05-29 13:35:47 -07:00
CONTRIBUTING.md docs: fix typos in repository documentation (#10683) 2025-11-15 20:22:29 -08:00
Dockerfile mlx, mlxrunner: move the MLX engine out of x/ 2026-09-16 14:06:08 -07:00
go.mod tokenizer, ml: remove dead code 2026-09-16 14:06:08 -07:00
go.sum tokenizer, ml: remove dead code 2026-09-16 14:06:08 -07:00
LICENSE
LLAMA_CPP_VERSION llama.cpp: version bump b10969 (#18446) 2026-09-15 13:13:31 -07:00
main.go
MLX_C_VERSION MLX, MLX-C: version bump (#18449) 2026-09-14 20:53:05 -07:00
MLX_VERSION MLX, MLX-C: version bump (#18449) 2026-09-14 20:53:05 -07:00
README.md launch: add DeepSeek Harness integration (#17733) 2026-08-13 15:19:02 -07:00
SECURITY.md docs: fix typos in repository documentation (#10683) 2025-11-15 20:22:29 -08:00

ollama

Ollama

Start building with open models.

Download

macOS

curl -fsSL https://ollama.com/install.sh | sh

or download manually

Windows

irm https://ollama.com/install.ps1 | iex

or download manually

Linux

curl -fsSL https://ollama.com/install.sh | sh

Manual install instructions

Docker

The official Ollama Docker image ollama/ollama is available on Docker Hub.

Libraries

Community

Get started

ollama

You'll be prompted to run a model or connect Ollama to your existing agents or applications such as Claude Code, OpenClaw, OpenCode , Codex, Copilot, and more.

Coding

To launch a specific integration:

ollama launch claude

Supported integrations include Claude Code, Codex, Copilot CLI, DeepSeek Harness, Droid, and OpenCode.

AI assistant

Use OpenClaw to turn Ollama into a personal AI assistant across WhatsApp, Telegram, Slack, Discord, and more:

ollama launch openclaw

Chat with a model

Run and chat with Gemma 4:

ollama run gemma4

See ollama.com/library for the full list.

See the quickstart guide for more details.

REST API

Ollama has a REST API for running and managing models.

curl http://localhost:11434/api/chat -d '{
  "model": "gemma4",
  "messages": [{
    "role": "user",
    "content": "Why is the sky blue?"
  }],
  "stream": false
}'

See the API documentation for all endpoints.

Python

pip install ollama
from ollama import chat

response = chat(model='gemma4', messages=[
  {
    'role': 'user',
    'content': 'Why is the sky blue?',
  },
])
print(response.message.content)

JavaScript

npm i ollama
import ollama from "ollama";

const response = await ollama.chat({
  model: "gemma4",
  messages: [{ role: "user", content: "Why is the sky blue?" }],
});
console.log(response.message.content);

Supported backends

  • llama.cpp project founded by Georgi Gerganov.

Documentation

Community Integrations

Want to add your project? Open a pull request.

Chat Interfaces

Web

Desktop

  • Dify.AI - LLM app development platform
  • AnythingLLM - All-in-one AI app for Mac, Windows, and Linux
  • Maid - Cross-platform mobile and desktop client
  • Witsy - AI desktop app for Mac, Windows, and Linux
  • Cherry Studio - Multi-provider desktop client
  • Ollama App - Multi-platform client for desktop and mobile
  • PyGPT - AI desktop assistant for Linux, Windows, and Mac
  • Alpaca - GTK4 client for Linux and macOS
  • SwiftChat - Cross-platform including iOS, Android, and Apple Vision Pro
  • Enchanted - Native macOS and iOS client
  • RWKV-Runner - Multi-model desktop runner
  • Ollama Grid Search - Evaluate and compare models
  • macai - macOS client for Ollama and ChatGPT
  • AI Studio - Multi-provider desktop IDE
  • Reins - Parameter tuning and reasoning model support
  • ConfiChat - Privacy-focused with optional encryption
  • LLocal.in - Electron desktop client
  • MindMac - AI chat client for Mac
  • Msty - Multi-model desktop client
  • BoltAI for Mac - AI chat client for Mac
  • IntelliBar - AI-powered assistant for macOS
  • Kerlig AI - AI writing assistant for macOS
  • Hillnote - Markdown-first AI workspace
  • Perfect Memory AI - Productivity AI personalized by screen and meeting history

Mobile

SwiftChat, Enchanted, Maid, Ollama App, Reins, and ConfiChat listed above also support mobile platforms.

Code Editors & Development

Libraries & SDKs

Frameworks & Agents

RAG & Knowledge Bases

  • RAGFlow - RAG engine based on deep document understanding
  • R2R - Open-source RAG engine
  • MaxKB - Ready-to-use RAG chatbot
  • Minima - On-premises or fully local RAG
  • Chipper - AI interface with Haystack RAG
  • ARGO - RAG and deep research on Mac/Windows/Linux
  • Archyve - RAG-enabling document library
  • Casibase - AI knowledge base with RAG and SSO
  • BrainSoup - Native client with RAG and multi-agent automation

Bots & Messaging

Terminal & CLI

Productivity & Apps

Observability & Monitoring

  • Opik - Debug, evaluate, and monitor LLM applications
  • OpenLIT - OpenTelemetry-native monitoring for Ollama and GPUs
  • Lunary - LLM observability with analytics and PII masking
  • Langfuse - Open source LLM observability
  • HoneyHive - AI observability and evaluation for agents
  • MLflow Tracing - Open source LLM observability

Database & Embeddings

Infrastructure & Deployment

Cloud

Package Managers