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 2ff052b781 llm: apply a format after the thinking in one llama-server request
llama-server applies a schema from the first sampled token, so a thinking
model asked for a format cannot think first, and the server has to run two
generations to get both the thinking and the formatted content.

The client now sends one request whose grammar leaves the text before a
closing string unconstrained and requires the format after it.
llama-server converts the schema for us: an empty completion evaluates and
generates nothing but reports the GBNF it derived, which we wrap in rules
that recognize the closing strings and cache per schema for the life of
the process. On qwen3 0.6b at temperature 0 the thinking is byte-identical
with and without a format and the JSON follows the schema.

A response that ends before a closing string is delivered unchanged. The
conversion request briefly takes a llama-server slot on a cache miss. The
server does not send the strings yet.
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 llm: apply a format after the thinking in one llama-server request 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 mlxrunner: constrain a format after the thinking in one generation 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: fix getExistingName canonicalizing model name parts independently (#18438) 2026-09-22 09:07:30 -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 add version 2023-08-22 09:40:58 -07:00
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
.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 proto -> ollama 2023-06-26 15:57:13 -04:00
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

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