mirror of
https://github.com/ollama/ollama.git
synced 2026-05-07 00:22:43 -05:00
Closed
opened 2026-04-22 11:31:28 -05:00 by GiteaMirror
·
67 comments
No Branch/Tag Specified
main
hoyyeva/anthropic-local-image-path
dhiltgen/ci
dhiltgen/llama-runner
parth-remove-claude-desktop-launch
hoyyeva/anthropic-reference-images-path
parth-anthropic-reference-images-path
brucemacd/download-before-remove
hoyyeva/editor-config-repair
parth-mlx-decode-checkpoints
parth-launch-codex-app
hoyyeva/fix-codex-model-metadata-warning
hoyyeva/qwen
parth/hide-claude-desktop-till-release
hoyyeva/opencode-image-modality
parth-add-claude-code-autoinstall
release_v0.22.0
pdevine/manifest-list
codex/fix-codex-model-metadata-warning
pdevine/addressable-manifest
brucemacd/launch-fetch-reccomended
jmorganca/llama-compat
launch-copilot-cli
hoyyeva/opencode-thinking
release_v0.20.7
parth-auto-save-backup
parth-test
jmorganca/gemma4-audio-replacements
fix-manifest-digest-on-pull
hoyyeva/vscode-improve
brucemacd/install-server-wait
parth/update-claude-docs
brucemac/start-ap-install
pdevine/mlx-update
pdevine/qwen35_vision
drifkin/api-show-fallback
mintlify/image-generation-1773352582
hoyyeva/server-context-length-local-config
jmorganca/faster-reptition-penalties
jmorganca/convert-nemotron
parth-pi-thinking
pdevine/sampling-penalties
jmorganca/fix-create-quantization-memory
dongchen/resumable_transfer_fix
pdevine/sampling-cache-error
jessegross/mlx-usage
hoyyeva/openclaw-config
hoyyeva/app-html
pdevine/qwen3next
brucemacd/sign-sh-install
brucemacd/tui-update
brucemacd/usage-api
jmorganca/launch-empty
fix-app-dist-embed
mxyng/mlx-compile
mxyng/mlx-quant
mxyng/mlx-glm4.7
mxyng/mlx
brucemacd/simplify-model-picker
jmorganca/qwen3-concurrent
fix-glm-4.7-flash-mla-config
drifkin/qwen3-coder-opening-tag
brucemacd/usage-cli
fix-cuda12-fattn-shmem
ollama-imagegen-docs
parth/fix-multiline-inputs
brucemacd/config-docs
mxyng/model-files
mxyng/simple-execute
fix-imagegen-ollama-models
mxyng/async-upload
jmorganca/lazy-no-dtype-changes
imagegen-auto-detect-create
parth/decrease-concurrent-download-hf
fix-mlx-quantize-init
jmorganca/x-cleanup
usage
imagegen-readme
jmorganca/glm-image
mlx-gpu-cd
jmorganca/imagegen-modelfile
parth/agent-skills
parth/agent-allowlist
parth/signed-in-offline
parth/agents
parth/fix-context-chopping
improve-cloud-flow
parth/add-models-websearch
parth/prompt-renderer-mcp
jmorganca/native-settings
jmorganca/download-stream-hash
jmorganca/client2-rebased
brucemacd/oai-chat-req-multipart
jessegross/multi_chunk_reserve
grace/additional-omit-empty
grace/mistral-3-large
mxyng/tokenizer2
mxyng/tokenizer
jessegross/flash
hoyyeva/windows-nacked-app
mxyng/cleanup-attention
grace/deepseek-parser
hoyyeva/remember-unsent-prompt
parth/add-lfs-pointer-error-conversion
parth/olmo2-test2
hoyyeva/ollama-launchagent-plist
nicole/olmo-model
parth/olmo-test
mxyng/remove-embedded
parth/render-template
jmorganca/intellect-3
parth/remove-prealloc-linter
jmorganca/cmd-eval
nicole/nomic-embed-text-fix
mxyng/lint-2
hoyyeva/add-gemini-3-pro-preview
hoyyeva/load-model-list
mxyng/expand-path
mxyng/environ-2
hoyyeva/deeplink-json-encoding
parth/improve-tool-calling-tests
hoyyeva/conversation
hoyyeva/assistant-edit-response
hoyyeva/thinking
origin/brucemacd/invalid-char-i-err
parth/improve-tool-calling
jmorganca/required-omitempty
grace/qwen3-vl-tests
mxyng/iter-client
parth/docs-readme
nicole/embed-test
pdevine/integration-benchstat
parth/remove-generate-cmd
parth/add-toolcall-id
mxyng/server-tests
jmorganca/glm-4.6
jmorganca/gin-h-compat
drifkin/stable-tool-args
pdevine/qwen3-more-thinking
parth/add-websearch-client
nicole/websearch_local
jmorganca/qwen3-coder-updates
grace/deepseek-v3-migration-tests
mxyng/fix-create
jmorganca/cloud-errors
pdevine/parser-tidy
revert-12233-parth/simplify-entrypoints-runner
parth/enable-so-gpt-oss
brucemacd/qwen3vl
jmorganca/readme-simplify
parth/gpt-oss-structured-outputs
revert-12039-jmorganca/tools-braces
mxyng/embeddings
mxyng/gguf
mxyng/benchmark
mxyng/types-null
parth/move-parsing
mxyng/gemma2
jmorganca/docs
mxyng/16-bit
mxyng/create-stdin
pdevine/authorizedkeys
mxyng/quant
parth/opt-in-error-context-window
brucemacd/cache-models
brucemacd/runner-completion
jmorganca/llama-update-6
brucemacd/benchmark-list
brucemacd/partial-read-caps
parth/deepseek-r1-tools
mxyng/omit-array
parth/tool-prefix-temp
brucemacd/runner-test
jmorganca/qwen25vl
brucemacd/model-forward-test-ext
parth/python-function-parsing
jmorganca/cuda-compression-none
drifkin/num-parallel
drifkin/chat-truncation-fix
jmorganca/sync
parth/python-tools-calling
drifkin/array-head-count
brucemacd/create-no-loop
parth/server-enable-content-stream-with-tools
qwen25omni
mxyng/v3
brucemacd/ropeconfig
jmorganca/silence-tokenizer
parth/sample-so-test
parth/sampling-structured-outputs
brucemacd/doc-go-engine
parth/constrained-sampling-json
jmorganca/mistral-wip
brucemacd/mistral-small-convert
parth/sample-unmarshal-json-for-params
brucemacd/jomorganca/mistral
pdevine/bfloat16
jmorganca/mistral
brucemacd/mistral
pdevine/logging
parth/sample-correctness-fix
parth/sample-fix-sorting
jmorgan/sample-fix-sorting-extras
jmorganca/temp-0-images
brucemacd/parallel-embed-models
brucemacd/shim-grammar
jmorganca/fix-gguf-error
bmizerany/nameswork
jmorganca/faster-releases
bmizerany/validatenames
brucemacd/err-no-vocab
brucemacd/rope-config
brucemacd/err-hint
brucemacd/qwen2_5
brucemacd/logprobs
brucemacd/new_runner_graph_bench
progress-flicker
brucemacd/forward-test
brucemacd/go_qwen2
pdevine/gemma2
jmorganca/add-missing-symlink-eval
mxyng/next-debug
parth/set-context-size-openai
brucemacd/next-bpe-bench
brucemacd/next-bpe-test
brucemacd/new_runner_e2e
brucemacd/new_runner_qwen2
pdevine/convert-cohere2
brucemacd/convert-cli
parth/log-probs
mxyng/next-mlx
mxyng/cmd-history
parth/templating
parth/tokenize-detokenize
brucemacd/check-key-register
bmizerany/grammar
jmorganca/vendor-081b29bd
mxyng/func-checks
jmorganca/fix-null-format
parth/fix-default-to-warn-json
jmorganca/qwen2vl
jmorganca/no-concat
parth/cmd-cleanup-SO
brucemacd/check-key-register-structured-err
parth/openai-stream-usage
parth/fix-referencing-so
stream-tools-stop
jmorganca/degin-1
brucemacd/install-path-clean
brucemacd/push-name-validation
brucemacd/browser-key-register
jmorganca/openai-fix-first-message
jmorganca/fix-proxy
jessegross/sample
parth/disallow-streaming-tools
dhiltgen/remove_submodule
jmorganca/ga
jmorganca/mllama
pdevine/newlines
pdevine/geems-2b
jmorganca/llama-bump
mxyng/modelname-7
mxyng/gin-slog
mxyng/modelname-6
jyan/convert-prog
jyan/quant5
paligemma-support
pdevine/import-docs
jmorganca/openai-context
jyan/paligemma
jyan/p2
jyan/palitest
bmizerany/embedspeedup
jmorganca/llama-vit
brucemacd/allow-ollama
royh/ep-methods
royh/whisper
mxyng/api-models
mxyng/fix-memory
jyan/q4_4/8
jyan/ollama-v
royh/stream-tools
roy-embed-parallel
bmizerany/hrm
revert-5963-revert-5924-mxyng/llama3.1-rope
royh/embed-viz
jyan/local2
jyan/auth
jyan/local
jyan/parse-temp
jmorganca/template-mistral
jyan/reord-g
royh-openai-suffixdocs
royh-imgembed
royh-embed-parallel
jyan/quant4
royh-precision
jyan/progress
pdevine/fix-template
jyan/quant3
pdevine/ggla
mxyng/update-registry-domain
jmorganca/ggml-static
mxyng/create-context
jyan/v0.146
mxyng/layers-from-files
build_dist
bmizerany/noseek
royh-ls
royh-name
timeout
mxyng/server-timestamp
bmizerany/nosillyggufslurps
royh-params
jmorganca/llama-cpp-7c26775
royh-openai-delete
royh-show-rigid
jmorganca/enable-fa
jmorganca/no-error-template
jyan/format
royh-testdelete
bmizerany/fastverify
language_support
pdevine/ps-glitches
brucemacd/tokenize
bruce/iq-quants
bmizerany/filepathwithcoloninhost
mxyng/split-bin
bmizerany/client-registry
jmorganca/if-none-match
native
jmorganca/native
jmorganca/batch-embeddings
jmorganca/initcmake
jmorganca/mm
pdevine/showggmlinfo
modenameenforcealphanum
bmizerany/modenameenforcealphanum
jmorganca/done-reason
jmorganca/llama-cpp-8960fe8
ollama.com
bmizerany/filepathnobuild
bmizerany/types/model/defaultfix
rmdisplaylong
nogogen
bmizerany/x
modelfile-readme
bmizerany/replacecolon
jmorganca/limit
jmorganca/execstack
jmorganca/replace-assets
mxyng/tune-concurrency
jmorganca/testing
whitespace-detection
jmorganca/options
upgrade-all
scratch
cuda-search
mattw/airenamer
mattw/allmodelsonhuggingface
mattw/quantcontext
mattw/whatneedstorun
brucemacd/llama-mem-calc
mattw/faq-context
mattw/communitylinks
mattw/noprune
mattw/python-functioncalling
rename
mxyng/install
pulse
remove-first
editor
mattw/selfqueryingretrieval
cgo
mattw/howtoquant
api
matt/streamingapi
format-config
mxyng/extra-args
shell
update-nous-hermes
cp-model
upload-progress
fix-unknown-model
fix-model-names
delete-fix
insecure-registry
ls
deletemodels
progressbar
readme-updates
license-layers
skip-list
list-models
modelpath
matt/examplemodelfiles
distribution
go-opts
v0.30.0-rc3
v0.30.0-rc2
v0.30.0-rc1
v0.30.0-rc0
v0.23.1
v0.23.1-rc0
v0.23.0
v0.23.0-rc0
v0.22.1
v0.22.1-rc1
v0.22.1-rc0
v0.22.0
v0.22.0-rc1
v0.21.3-rc0
v0.21.2-rc1
v0.21.2
v0.21.2-rc0
v0.21.1
v0.21.1-rc1
v0.21.1-rc0
v0.21.0
v0.21.0-rc1
v0.21.0-rc0
v0.20.8-rc0
v0.20.7
v0.20.7-rc1
v0.20.7-rc0
v0.20.6
v0.20.6-rc1
v0.20.6-rc0
v0.20.5
v0.20.5-rc2
v0.20.5-rc1
v0.20.5-rc0
v0.20.4
v0.20.4-rc2
v0.20.4-rc1
v0.20.4-rc0
v0.20.3
v0.20.3-rc0
v0.20.2
v0.20.1
v0.20.1-rc2
v0.20.1-rc1
v0.20.1-rc0
v0.20.0
v0.20.0-rc1
v0.20.0-rc0
v0.19.0
v0.19.0-rc2
v0.19.0-rc1
v0.19.0-rc0
v0.18.4-rc1
v0.18.4-rc0
v0.18.3
v0.18.3-rc2
v0.18.3-rc1
v0.18.3-rc0
v0.18.2
v0.18.2-rc1
v0.18.2-rc0
v0.18.1
v0.18.1-rc1
v0.18.1-rc0
v0.18.0
v0.18.0-rc2
v0.18.0-rc1
v0.18.0-rc0
v0.17.8-rc4
v0.17.8-rc3
v0.17.8-rc2
v0.17.8-rc1
v0.17.8-rc0
v0.17.7
v0.17.7-rc2
v0.17.7-rc1
v0.17.7-rc0
v0.17.6
v0.17.5
v0.17.4
v0.17.3
v0.17.2
v0.17.1
v0.17.1-rc2
v0.17.1-rc1
v0.17.1-rc0
v0.17.0
v0.17.0-rc2
v0.17.0-rc1
v0.17.0-rc0
v0.16.3
v0.16.3-rc2
v0.16.3-rc1
v0.16.3-rc0
v0.16.2
v0.16.2-rc0
v0.16.1
v0.16.0
v0.16.0-rc2
v0.16.0-rc0
v0.16.0-rc1
v0.15.6
v0.15.5
v0.15.5-rc5
v0.15.5-rc4
v0.15.5-rc3
v0.15.5-rc2
v0.15.5-rc1
v0.15.5-rc0
v0.15.4
v0.15.3
v0.15.2
v0.15.1
v0.15.1-rc1
v0.15.1-rc0
v0.15.0-rc6
v0.15.0
v0.15.0-rc5
v0.15.0-rc4
v0.15.0-rc3
v0.15.0-rc2
v0.15.0-rc1
v0.15.0-rc0
v0.14.3
v0.14.3-rc3
v0.14.3-rc2
v0.14.3-rc1
v0.14.3-rc0
v0.14.2
v0.14.2-rc1
v0.14.2-rc0
v0.14.1
v0.14.0-rc11
v0.14.0
v0.14.0-rc10
v0.14.0-rc9
v0.14.0-rc8
v0.14.0-rc7
v0.14.0-rc6
v0.14.0-rc5
v0.14.0-rc4
v0.14.0-rc3
v0.14.0-rc2
v0.14.0-rc1
v0.14.0-rc0
v0.13.5
v0.13.5-rc1
v0.13.5-rc0
v0.13.4-rc2
v0.13.4
v0.13.4-rc1
v0.13.4-rc0
v0.13.3
v0.13.3-rc1
v0.13.3-rc0
v0.13.2
v0.13.2-rc2
v0.13.2-rc1
v0.13.2-rc0
v0.13.1
v0.13.1-rc2
v0.13.1-rc1
v0.13.1-rc0
v0.13.0
v0.13.0-rc0
v0.12.11
v0.12.11-rc1
v0.12.11-rc0
v0.12.10
v0.12.10-rc1
v0.12.10-rc0
v0.12.9-rc0
v0.12.9
v0.12.8
v0.12.8-rc0
v0.12.7
v0.12.7-rc1
v0.12.7-rc0
v0.12.7-citest0
v0.12.6
v0.12.6-rc1
v0.12.6-rc0
v0.12.5
v0.12.5-rc0
v0.12.4
v0.12.4-rc7
v0.12.4-rc6
v0.12.4-rc5
v0.12.4-rc4
v0.12.4-rc3
v0.12.4-rc2
v0.12.4-rc1
v0.12.4-rc0
v0.12.3
v0.12.2
v0.12.2-rc0
v0.12.1
v0.12.1-rc1
v0.12.1-rc2
v0.12.1-rc0
v0.12.0
v0.12.0-rc1
v0.12.0-rc0
v0.11.11
v0.11.11-rc3
v0.11.11-rc2
v0.11.11-rc1
v0.11.11-rc0
v0.11.10
v0.11.9
v0.11.9-rc0
v0.11.8
v0.11.8-rc0
v0.11.7-rc1
v0.11.7-rc0
v0.11.7
v0.11.6
v0.11.6-rc0
v0.11.5-rc4
v0.11.5-rc3
v0.11.5
v0.11.5-rc5
v0.11.5-rc2
v0.11.5-rc1
v0.11.5-rc0
v0.11.4
v0.11.4-rc0
v0.11.3
v0.11.3-rc0
v0.11.2
v0.11.1
v0.11.0-rc0
v0.11.0-rc1
v0.11.0-rc2
v0.11.0
v0.10.2-int1
v0.10.1
v0.10.0
v0.10.0-rc4
v0.10.0-rc3
v0.10.0-rc2
v0.10.0-rc1
v0.10.0-rc0
v0.9.7-rc1
v0.9.7-rc0
v0.9.6
v0.9.6-rc0
v0.9.6-ci0
v0.9.5
v0.9.4-rc5
v0.9.4-rc6
v0.9.4
v0.9.4-rc3
v0.9.4-rc4
v0.9.4-rc1
v0.9.4-rc2
v0.9.4-rc0
v0.9.3
v0.9.3-rc5
v0.9.4-citest0
v0.9.3-rc4
v0.9.3-rc3
v0.9.3-rc2
v0.9.3-rc1
v0.9.3-rc0
v0.9.2
v0.9.1
v0.9.1-rc1
v0.9.1-rc0
v0.9.1-ci1
v0.9.1-ci0
v0.9.0
v0.9.0-rc0
v0.8.0
v0.8.0-rc0
v0.7.1-rc2
v0.7.1
v0.7.1-rc1
v0.7.1-rc0
v0.7.0
v0.7.0-rc1
v0.7.0-rc0
v0.6.9-rc0
v0.6.8
v0.6.8-rc0
v0.6.7
v0.6.7-rc2
v0.6.7-rc1
v0.6.7-rc0
v0.6.6
v0.6.6-rc2
v0.6.6-rc1
v0.6.6-rc0
v0.6.5-rc1
v0.6.5
v0.6.5-rc0
v0.6.4-rc0
v0.6.4
v0.6.3-rc1
v0.6.3
v0.6.3-rc0
v0.6.2
v0.6.2-rc0
v0.6.1
v0.6.1-rc0
v0.6.0-rc0
v0.6.0
v0.5.14-rc0
v0.5.13
v0.5.13-rc6
v0.5.13-rc5
v0.5.13-rc4
v0.5.13-rc3
v0.5.13-rc2
v0.5.13-rc1
v0.5.13-rc0
v0.5.12
v0.5.12-rc1
v0.5.12-rc0
v0.5.11
v0.5.10
v0.5.9
v0.5.9-rc0
v0.5.8-rc13
v0.5.8
v0.5.8-rc12
v0.5.8-rc11
v0.5.8-rc10
v0.5.8-rc9
v0.5.8-rc8
v0.5.8-rc7
v0.5.8-rc6
v0.5.8-rc5
v0.5.8-rc4
v0.5.8-rc3
v0.5.8-rc2
v0.5.8-rc1
v0.5.8-rc0
v0.5.7
v0.5.6
v0.5.5
v0.5.5-rc0
v0.5.4
v0.5.3
v0.5.3-rc0
v0.5.2
v0.5.2-rc3
v0.5.2-rc2
v0.5.2-rc1
v0.5.2-rc0
v0.5.1
v0.5.0
v0.5.0-rc1
v0.4.8-rc0
v0.4.7
v0.4.6
v0.4.5
v0.4.4
v0.4.3
v0.4.3-rc0
v0.4.2
v0.4.2-rc1
v0.4.2-rc0
v0.4.1
v0.4.1-rc0
v0.4.0
v0.4.0-rc8
v0.4.0-rc7
v0.4.0-rc6
v0.4.0-rc5
v0.4.0-rc4
v0.4.0-rc3
v0.4.0-rc2
v0.4.0-rc1
v0.4.0-rc0
v0.4.0-ci3
v0.3.14
v0.3.14-rc0
v0.3.13
v0.3.12
v0.3.12-rc5
v0.3.12-rc4
v0.3.12-rc3
v0.3.12-rc2
v0.3.12-rc1
v0.3.11
v0.3.11-rc4
v0.3.11-rc3
v0.3.11-rc2
v0.3.11-rc1
v0.3.10
v0.3.10-rc1
v0.3.9
v0.3.8
v0.3.7
v0.3.7-rc6
v0.3.7-rc5
v0.3.7-rc4
v0.3.7-rc3
v0.3.7-rc2
v0.3.7-rc1
v0.3.6
v0.3.5
v0.3.4
v0.3.3
v0.3.2
v0.3.1
v0.3.0
v0.2.8
v0.2.8-rc2
v0.2.8-rc1
v0.2.7
v0.2.6
v0.2.5
v0.2.4
v0.2.3
v0.2.2
v0.2.2-rc2
v0.2.2-rc1
v0.2.1
v0.2.0
v0.1.49-rc14
v0.1.49-rc13
v0.1.49-rc12
v0.1.49-rc11
v0.1.49-rc10
v0.1.49-rc9
v0.1.49-rc8
v0.1.49-rc7
v0.1.49-rc6
v0.1.49-rc4
v0.1.49-rc5
v0.1.49-rc3
v0.1.49-rc2
v0.1.49-rc1
v0.1.48
v0.1.47
v0.1.46
v0.1.45-rc5
v0.1.45
v0.1.45-rc4
v0.1.45-rc3
v0.1.45-rc2
v0.1.45-rc1
v0.1.44
v0.1.43
v0.1.42
v0.1.41
v0.1.40
v0.1.40-rc1
v0.1.39
v0.1.39-rc2
v0.1.39-rc1
v0.1.38
v0.1.37
v0.1.36
v0.1.35
v0.1.35-rc1
v0.1.34
v0.1.34-rc1
v0.1.33
v0.1.33-rc7
v0.1.33-rc6
v0.1.33-rc5
v0.1.33-rc4
v0.1.33-rc3
v0.1.33-rc2
v0.1.33-rc1
v0.1.32
v0.1.32-rc2
v0.1.32-rc1
v0.1.31
v0.1.30
v0.1.29
v0.1.28
v0.1.27
v0.1.26
v0.1.25
v0.1.24
v0.1.23
v0.1.22
v0.1.21
v0.1.20
v0.1.19
v0.1.18
v0.1.17
v0.1.16
v0.1.15
v0.1.14
v0.1.13
v0.1.12
v0.1.11
v0.1.10
v0.1.9
v0.1.8
v0.1.7
v0.1.6
v0.1.5
v0.1.4
v0.1.3
v0.1.2
v0.1.1
v0.1.0
v0.0.21
v0.0.20
v0.0.19
v0.0.18
v0.0.17
v0.0.16
v0.0.15
v0.0.14
v0.0.13
v0.0.12
v0.0.11
v0.0.10
v0.0.9
v0.0.8
v0.0.7
v0.0.6
v0.0.5
v0.0.4
v0.0.3
v0.0.2
v0.0.1
Labels
Clear labels
amd
api
app
bug
build
cli
cloud
compatibility
context-length
create
docker
documentation
embeddings
feature request
feedback wanted
good first issue
gpt-oss
gpu
harmony
help wanted
image
install
intel
js
launch
linux
macos
memory
mlx
model
needs more info
networking
nvidia
ollama.com
performance
pull-request
python
question
registry
rendering
thinking
tools
top
vulkan
windows
wsl
Mirrored from GitHub Pull Request
No Label
bug
Milestone
No items
No Milestone
Projects
Clear projects
No project
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: github-starred/ollama#31250
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @odrobnik on GitHub (Jan 21, 2025).
Original GitHub issue: https://github.com/ollama/ollama/issues/8517
What is the issue?
I tried
deepseek-r1:70Band ollama claims that it doesn't support tools.Looks to me like the template you have is missing the rules for tools.
The current Ollama template:
The template from https://huggingface.co/unsloth/DeepSeek-R1-Distill-Llama-70B-GGUF has tool calls stuff:
OS
macOS
GPU
Apple
CPU
No response
Ollama version
0.5.7
@cbjuan commented on GitHub (Jan 22, 2025):
I observe the same error for the
deepseek-r1:1.5bmodel@IpslWon commented on GitHub (Jan 22, 2025):
The same issue is observed in deepseek-r1:8b
OS
Ubuntu 22.04.5 LTS
GPU
Nvidia
Ollama Version
0.5.7
@arraylabs commented on GitHub (Jan 22, 2025):
And deepseek-r1:14b
Windows 11
Nvidia latest drivers
Latest Ollama
@oceanapplications commented on GitHub (Jan 23, 2025):
Same on deepseek-r1:8b on MacOS.
@majian159 commented on GitHub (Jan 23, 2025):
It seems that DeepSeek’s Reasoning model, including R1, currently does not support FunctionCall.
However, DeepSeek v3 supports FunctionCall.
For more details, refer to: https://api-docs.deepseek.com/guides/reasoning_model#api-parameters
@odrobnik commented on GitHub (Jan 23, 2025):
@majian159 That might be true, but the model that Ollama calls deepseek-r1 isn't the same, those are distilled versions where they took the 600k reasoning traces and fine-tuned Qwen 2.5 and Llama 3 with them.
Qwen 2.5 supports tool calls very well and so should be the deepseek r1 distillates based on it.
I've been experimenting many hours with replacing the template for deepseek-r1:32B with one that I borrowed from Qwen2.5. It works quite well and is calling functions properly. The only problem I am unhappy with at this point is that it loses the initial
<think>in the final response. The original template didn't have this issue. It must be something with the white space handing in go templates, which I haven't figured out yet.Original template:
This shows the
<think>and</think>tokens.My best attempt so far:
This does tool calling, but a message without tool calls gets the
<think>chomped off somehow.I've changed the
<|im_start|>and<|im_end|>to<|begin▁of▁sentence|>and<|end▁of▁sentence|>respectively. And also removed the outermost BOS and EOS because I would get a warning about duplicate BOS. Without those tags I think the model doesn't see the tool responses.I think the problem has something to do with
{{-in go templates, those would remove whitespace and also a leading tag. But I am a noob at these things.Who can help give it the final polish?
Also a question: I tried multiple things, but as soon as I have the section on the tool calls, there is never any content. But without the tool calls part I see thinking with embedded tool calls. Does Ollama remove all content if there are tool calls in it?
@nikito commented on GitHub (Jan 23, 2025):
I thought I had read somewhere that the distillation process breaks function calling, or at least has a negative impact on it?
@odrobnik commented on GitHub (Jan 23, 2025):
What you are probably referring to is that during training of the first DeepSeek-R1 Zero they had issues with mixing languages and basic functionality, but that didn't affect the distills.
The function calling works fine in my tests. My only problem is that something removes the leading
<think>tag from the response stream.@odrobnik commented on GitHub (Jan 23, 2025):
I found that the problem is in Ollama itself, as soon as you add tool support to the template the leading
<think>tag gets cut off: #8552@odrobnik commented on GitHub (Jan 23, 2025):
PS: I just tested function calling on LM Server, with this DeepSeek-R1 Qwen 32B distill: https://huggingface.co/mlx-community/DeepSeek-R1-Distill-Qwen-32B-3bit:
The model creates thinking token always, but they get discarded for tool calls. Nevertheless they come through in the final message. I'm doing a collapsible section showing them.
Of course I can hack it such that I add a leading
<think>if I see a</think>in the content, but that's definitely an ollama bug.@odrobnik commented on GitHub (Jan 24, 2025):
I found that the problem with the disappearing
<think>was caused by superfluous BOS tokens. Apparently those aren't necessary and the one that the tokenizer automatically adds is enough.Another possible reason for the issues might be that several Qwen tokens used in the template might be missing due to a new pre-tokenizer that's not yet in llama.cpp #8547
Apparently this was released just now: https://github.com/ggerganov/llama.cpp/releases/tag/b4547
How can I tell that which llama.cpp version is used by a particular ollama version? @rick-github
@rick-github commented on GitHub (Jan 24, 2025):
Latest vendor commit is in the header.
@oceanapplications commented on GitHub (Jan 27, 2025):
Built latest Ollama from main and still the same no tools error.
@tompipe commented on GitHub (Jan 27, 2025):
Could be related, or a combination of issues (or my current lack of knowledge in this realm), but I'm experiencing similar issues, and can share some findings which may help shed some light on the issue.
I'm using litellm, and when submitting a request which contains a tools object to a deepseek model on ollama, litellm performs a check to verify if the model supports function calling. It does this by retreiving the model info and "checks if the 'template' field in the ollama_model_info contains a 'tools' or 'function' key"
If litellm thinks the model doesn't support function calling (i.e no tools or function keywords in the template), then within the map_openai_params function in ollama_chat.py - it sets up some logic so the function_call_prompt will inject function support into the prompt.
In doing this, it also forces
"format": "json"😩Whilst trying to debug, I've observed a few things, and I've verified these same issues with curl requests to ollama, adding the same adapted function calling prompt that litellm injects (as without this prompt 'massaging' I get the
{"error":{"message":"hf.co/unsloth/DeepSeek-R1-Distill-Llama-8B-GGUF:Q4_K_M does not support tools","type":"api_error","param":null,"code":null}}error).I've tried these with the
hf.co/unsloth/DeepSeek-R1-Distill-Llama-8B-GGUF:Q4_K_Manddeepseek-r1modelsPosting to the
/api/chatendpoint, if both"format": "json"and"stream": trueis set in the request, I observe the following message in the ollama logs:And I get repeating chunks like this in the responses, but no stop/done message (or think content):
If I set
"stream": falseI get the same error in the logs, the following response, and no stop/done message (or think content)Without
"format": "json"(and either non/streaming) the response completes with think content, and what appears to be a correctly formatted function call in the message, along with a stop/done message, but "done_reason" is always stop, and not "function_call"Posting to the
/v1/chat/completionsopenai compatible endpoint,"format": "json"and"stream": truework together here, and I don't see the superflous\n \ttokens in any messages, again though, the stop message doesn't indicate a function call, despite the model generating one in the message.If I switch to a deepseek model such as
MFDoom/deepseek-r1-tool-calling:latest, which reports to litellm that it supports function calling support (and therefore litellm doesn't inject to the prompt, and the"tools"object remains in the request).I don't get the
does not support toolserror from ollama, and the model generates a response, but I see similar issues when posting to the/api/chatendpoint when"format": "json"And never seem to get a done/end response, nor a correct
"finish_reason": "tool_calls"messageHowever, posting to the
/v1/chat/completionsendpoint, with any combination of"format": "json"and"stream": trueI do get responses running to completion without errors, valid tool call responses, but no think content.If
"stream": truethen I get a chunk which looks like a valid function call response, except"finish_reason": nullfollowed by another chunk with"finish_reason": "stop"With streaming off, I get a valid tool call response (but no think content 😒):
@rick-github commented on GitHub (Jan 27, 2025):
Tool calling is a function of the model template, not the ollama binary.
This is a common way to get a non-tool using model to use tools: https://github.com/ollama/ollama/issues/6061
It does this because if it doesn't models generate a lot of whitespace.
This is caused by the repeating whitespace.
Streaming is currently not supported with tool support.
You can't get a tool response and a text response in the same completion: https://github.com/ollama/ollama/issues/8337
@tompipe commented on GitHub (Jan 27, 2025):
Thanks! That's helped clear a few things up. As I say, I'm brand new to this, and it's a pretty steep learning curve!
Yeah, my concern here was that allegedly Deepseek doesn't support json output, so forcing it on when the model might not support it, seemed a bit odd. And I seemed to get more whitespace issues with it forced on, than with it off.
And I just found it strange that ollama's openai compatible endpoint doesn't have the same issues as the /api/chat when requesting json output
@rick-github commented on GitHub (Jan 27, 2025):
I answered this is a different issue, but it's probably of interest to the folk subscribed to this thread.
A tool-enabled deepseek-r1 does "thinking" so in theory is likely to respond more consistently and accurately. In theory: I haven't tested this yet.
If I make a request that uses a tool:
I get the result:
The text response from the model is converted to a tool call and the content is discarded. However, if we look behind the scenes and monitor the direct output of the model, we can see that it is doing "thinking":
@odrobnik commented on GitHub (Jan 27, 2025):
There are three main issues:
the current template is missing the tool calling support parts you can see eg in the one for Qwen2.5
there is some part of ollama that looks for tool calls in the original output and if there are any then it discards the other text context. Ideally we would still get the generated thinking in the context. We am not certain about this, but whenever the template go tool calls from the model, the context was empty.
I semi-successfully added tool calling to the template, but it seems a bit unreliable. I think that this is because the special tokens for the tool calls are missing, due to the tokenizer not implementing it.
@DevinduSamarasinghe commented on GitHub (Jan 30, 2025):
https://ollama.com/MFDoom/deepseek-r1-tool-calling:8b
The above model supports tool calling.
@niltonvasques commented on GitHub (Jan 31, 2025):
I tried here on langflow, but it not calls the tool correctly, at least it is not raising errors informing that the model has not tool calling features.
@rick-github commented on GitHub (Jan 31, 2025):
I believe that some frameworks hide the fact that some models don't do tools, and use the old insert-tool-in-system-prompt method to implement function calling.
@odrobnik commented on GitHub (Jan 31, 2025):
I tested it, there are several issue:
for the first couple of tries it didn't even call any tools.
There is a leading
</think>in the output.The 14B version does call some tools, but it doesn't come to the right conclusions in my test case involving multiple reasoning steps.
Even with the 32B version I get results like this:
At other times there are spaces in the names of functions. Very odd and unreliable behavior.
@tompipe commented on GitHub (Feb 2, 2025):
So I gave it a full test through using the openai examples - hopeuflly this adds further context
Request 1
Ollama log entry
Response
I then submitted the follow up request, appending the tool call message and the output of the tool message to the original request
Request 2
Ollama log entry
Response
Which seems like it just wants to call the tool again. But if the follow up request is submitted without the
toolsobjectResponse 3
Ollama log entry
Then it does digest the tool output, but as @odrobnik observed, it has a leading
</think>along with some other occasional weirdness. LikeOther notes
"additionalProperties": falseand"strict": truewere present in the request, prevented it from 'making up' function arguments like time=today or calling non existent functions like get_weather_todaymessages[1].tool_calls[0].idandmessages[2].tool_call_idseems to work (i.e from call_0r878gkj to call_0r878gkk). Is there some sort of caching or a mechanism ensuring tool calls can only be used once?I'll keep digging
@odrobnik commented on GitHub (Feb 2, 2025):
I am pretty sure that ollama doesn’t know to assign the tool call responses properly to tool calls if there are more than one.
If there is just one then often it works, but if you have multiple responses it won’t work reliably because the id field doesn’t get put in the template so the model only sees the pure response text.
To prove that you can add the function and parameters in front of the response and then the LLM will know which answer belongs to which call.I think that this might be an ollama issue in general because LM Studio seems to have no issue with multiple tool responses.
@tompipe commented on GitHub (Feb 4, 2025):
Ok, so a little more digging, and I think I've uncovered one of the possible/related issues. This one I think is the cause of the occasional multiple/duplicate tool calls, and perhaps also for the sporadic random function names in the tool_calls array (followed by a valid tool call).
If (as I understand it) the ollama code for parsing the tool calls receives the full response, including the content between the
<think>tags, then suppose the model returned:Ollama's
parseObjectsfunction will try parse the content (including anything inside the think output), for any valid json. If this maps to a valid function call with name and arguments, then it appears that multiple/duplicate tool call entries will be spat out, something like:This may also explain a few of the responses where i've seen it want to call non existant functions like
get_weather_today.If, during the thinking, the model considered an ideal function (such as "get_weather_today", or evaluated other tools before settling on the correct one to call, these considerations would still be output in ollama's response, and could/would end up being called by the client.
Slightly concerning given the contrived scenario where a model is provided CRUD tools, and it considers each one, e.g:
I've set up an example go playground using the code lifted from ollama, as a quick 'proof of concept'. If anyone wants to confirm my findings.
I'm sure this isn't just going to affect the Deepseek/qwen distillates, so probably wants to be hacked off into a seperate issue.
@odrobnik commented on GitHub (Feb 4, 2025):
I believe that the tool call parsing should ignore the thinking part. Ideally this would put into the reasoning_content property, as original Deepseek is doing it
@rick-github commented on GitHub (Feb 4, 2025):
You're expending a lot of effort to get the distillate to use tools. Why not just use the original base model?
@tompipe commented on GitHub (Feb 4, 2025):
As far as I can tell, parseToolCalls is being passed the full content, which I believe still includes the think tags, though I'm not familar with go, or the ollama pipeline, so can't be certain. But it definitely aligns with my findings/testing
Absolutely. This would be great
@tompipe commented on GitHub (Feb 4, 2025):
Ha, I would if I could download moar vramz 😄
@rick-github commented on GitHub (Feb 4, 2025):
Not deepseek-r1:671b, qwen2.5:7b or llama3.1:8b.
@tompipe commented on GitHub (Feb 4, 2025):
Ah I see. Well if something doesn't work as it should, I tend to get an itch to understand why. And this one got me scratching 🤣
@wangjiyang commented on GitHub (Feb 5, 2025):
I also noticed some extra spaces are generated after "." or "/". Eg, stdio.h became "stdio. h". This is happened even normal chat creation without tool support. After some investigation, it is very probably caused by tokenizer.
@mozophe commented on GitHub (Feb 11, 2025):
I think this issue is partly related to https://github.com/ollama/ollama/issues/8982.
Also, there are a few tool supported versions of DeepSeek-R1-Qwen2.5 available in ollama library: https://ollama.com/search?c=tools&q=deepseek
Could be a good idea to either test the models or use its template.
@robwilkes commented on GitHub (Feb 12, 2025):
This may not help however Groq supports R1 distill models for tools calling so it definitely seems possible to do.
https://console.groq.com/docs/tool-use
@xiaoming2624 commented on GitHub (Feb 14, 2025):
hi,
And deepseek-r1:14b
ubuntu 20.04.6 LTS
Latest Ollama
webui-dify
search-duckduckgo or searxng
[ollama] Error: APl request failed with status
code 400:
{"error":"registry.ollama.ai/library/deepseek-
r1:14b does not support tools"}
@codex-horizon commented on GitHub (Feb 26, 2025):
java.lang.RuntimeException: [400] Bad Request - {"error":"registry.ollama.ai/library/deepseek-r1:70b does not support tools"}
@f2bo commented on GitHub (Feb 26, 2025):
@odrobnik Have you seen this issue https://github.com/ggml-org/llama.cpp/issues/11861#issuecomment-2660718488? It seems to be the same and apparently has been fixed, though I'm not sure when the fix will be taken by ollama.
@zoeshawwang commented on GitHub (Mar 1, 2025):
same here
@jesusmogollon commented on GitHub (Mar 3, 2025):
+1
@vishalmakwana111 commented on GitHub (Mar 6, 2025):
+1
@blackhawkee commented on GitHub (Mar 9, 2025):
same issue +1
@liupums commented on GitHub (Mar 12, 2025):
figured out and confirmed that qwen2.5 supports tools
https://ollama.com/library/qwen2.5
$ curl -s localhost:11434/api/chat -d '{ "model":"qwen2.5", "stream":false, "messages":[ {"role":"user","content":"what is the weather in paris"} ], "tools":[ {"type":"function","function":{"name":"get_current_weather","description":"get the weather"}} ]}' {"model":"qwen2.5","created_at":"2025-03-12T01:25:02.5036295Z","message":{"role":"assistant","content":"","tool_calls":[{"function":{"name":"get_current_weather","arguments":{"query":"Paris"}}}]},"done_reason":"stop","done":true,"total_duration":4318202200,"load_duration":2173890400,"prompt_eval_count":147,"prompt_eval_duration":770000000,"eval_count":21,"eval_duration":1111000000}@crystal-coding-time commented on GitHub (Apr 27, 2025):
Same issue +1
@maccman commented on GitHub (May 20, 2025):
Same issue
@JunHyeokYoo commented on GitHub (May 20, 2025):
+1
@YuSheng1223 commented on GitHub (May 23, 2025):
same issue
@udaykumarbpatel commented on GitHub (May 24, 2025):
+1
@wuhongsheng commented on GitHub (May 26, 2025):
+1
@anishcorratech commented on GitHub (Jun 7, 2025):
same issue,
ollama version is
0.9.0@ctcanbol commented on GitHub (Jun 23, 2025):
Are there any plan to fix this?
@Jayian1890 commented on GitHub (Jun 26, 2025):
Since January with no fix is kinda absurd, ngl
@qwerty108109 commented on GitHub (Jul 3, 2025):
I do not think there's a question. This model definitely has tool support. But Ollama is lacking in tool support for this model.
This is definitely a bug that has been encountered by more than a few people.
@qwerty108109 commented on GitHub (Jul 3, 2025):
I can confirm this issue has not been fixed on the latest version of Ollama v0.9.5.
@tko commented on GitHub (Jul 3, 2025):
might help: https://github.com/ollama/ollama/pull/11273
@ctcanbol commented on GitHub (Jul 3, 2025):
I just switched to vLLM. Plus, better tokens per sec. Not fixing this bug for such a popular model for more then a month is unacceptable.
@qwerty108109 commented on GitHub (Jul 3, 2025):
Ollama is a completely volunteer project to my knowledge.
Where VLLM has money and institutional backers.
@ctcanbol
@Jayian1890 commented on GitHub (Jul 4, 2025):
I can submit a pull request if it’s worth the effort. Don’t want to waste the time if it won’t be merged.
@qwerty108109 commented on GitHub (Jul 4, 2025):
Just to caveat this, I do not speak on behalf of the Ollama Project, but to my knowledge, Ollama is constantly looking to add new contributors and does have a very high quality control standards. Here is a link to the developer guide if you're interested in contributing. https://github.com/ollama/ollama/blob/main/docs/development.md
@Jayian1890
@ver007 commented on GitHub (Jul 7, 2025):
vLLM + Deepseek tools call is ok?
@ver007 commented on GitHub (Jul 7, 2025):
You are delaying the solution because the model originated from China. This is regional discrimination.
@mcr-ksh commented on GitHub (Jul 26, 2025):
+1
registry.ollama.ai/library/deepseek-r1:7b does not support tools
Also for the 7b model. A pitty.
@tomaszkiewicz commented on GitHub (Jul 26, 2025):
https://docs.boundaryml.com/home - this is NOT a solution of the problem, but... the project is VERY interesting in the way it handles prompting and tooling, moreover it doesn't require native tool calling support, so works with ANY model, I tried it with many models on Ollama, including DeepSeek and Qwen.
@ParthSareen commented on GitHub (Aug 3, 2025):
Hey folks! Sorry didn't see this issue earlier but we have been working for a while to try and get tool calling working on the distills.
There are a couple issues which make it difficult to support it right now.
The distills do not output the right token sequence compared to the full sized model for tool calling. Our parser needs the prefix to match correctly in order to parse the tool call. We need this information to be accurate as we have to distinguish between thinking, chatting, and tool calling.
Custom instruction can get shifted out. The is kind of fixable just through putting a system prompt but it's inconsistent and can potentially be shifted out on long prompts - I have some fixes for this in the near future.
The only realistic way to get tool calling on these models is to early execute into a constrained output. That comes with its own challenges like output quality but I do intend to scope this in.
Sorry that you guys are running into this but we are trying to improve this process. As for work arounds - I'd recommend modifying the template yourself with a custom prompt. YMMV which is why we haven't done it yet. But worth a shot. Going to close this out for now.
@antarasi commented on GitHub (Dec 3, 2025):
If you're not going to support tool calling for deepseek-r1, please consider removing the "tools" tag from the model page:
https://ollama.com/library/deepseek-r1
It's confusing users that this model supports tool calling.
@ver007 commented on GitHub (Dec 4, 2025):
The developers of this project harbored racial prejudice and deliberately selectively supported certain features of the model.
@rafaelcapucho commented on GitHub (Mar 6, 2026):
You're I just lost many hours trying to make it work
@Amamax commented on GitHub (Mar 30, 2026):
The models they provide support the displayed tags, just not the custom distillates you can download from somewhere else... But yeah there is really some lacking info about how the capability discovery process works.