我理解您的要求是关于在Windows系统上解决Ollama调用DeepSeek-R1模型时出现的工具调用(tool calling)失败问题。以下是整理后的专业解决方案:
深度优化方案:解决DeepSeek-R1:70B模型工具调用失败问题
1. 问题诊断
根本原因:DeepSeek-R1:70B基础版本(https://ollama.com/library/deepseek-r1:70b/blobs/c5ad996bda6e)的模板文件未包含工具调用功能支持,而671B版本(https://ollama.com/library/deepseek-r1:671b/blobs/7162a2550b7a)具备完整功能模板。
2. 技术解决方案
需执行模型模板移植:
powershell复制# 获取原始模型配置
ollama show --modelfile deepseek-r1:70b > modelfile.txt
# 替换模板内容(关键步骤)
(Get-Content modelfile.txt) -replace '(?s)TEMPLATE """.*?"""', @'
TEMPLATE """{{- if .System }}{{ .System }}{{ end }}
{{- if .Tools }}
## Tools
### Function
You have the following functions available:
{{- range .Tools }}
- {{ .Function.Name }}
```json
{{ .Function }}
```
{{- end }}
For function call returns...(完整模板内容见原始文档)
```'@ | Set-Content modelfile.txt
3. 模型重建
powershell复制# 创建支持工具调用的新版本
ollama create deepseek-r1:70b-custom -f $env:USERPROFILE\Documents\modelfile.txt
4. 验证测试
建议使用以下测试脚本验证功能:
python复制from ollam
