For the complete documentation index, see llms.txt. This page is also available as Markdown.

本地 LLM 的工具调用指南

工具调用是指允许一个 LLM 通过发出结构化请求来触发特定函数(如“搜索我的文件”、“运行计算器”或“调用 API”),而不是在文本中猜测答案。你使用工具调用,是因为它们使输出 更可靠且更新,并且它们让模型 采取真实行动 (查询系统、验证事实、强制执行模式),而不是胡编乱造。

在本教程中,你将学习如何通过工具调用使用本地 LLM,并结合数学、故事、Python 代码和终端函数示例。推理通过 llama.cpp、llama-server 和 OpenAI 端点在本地完成。

当你使用 Unsloth Studio时,工具调用会自动设置。只需选择你的模型,并开启或关闭工具调用。

请看右侧示例,工具调用被自动应用于 Gemma 4。Unsloth 还具有自我修复工具调用功能,确保你始终拥有可工作的工具调用。

我们的指南几乎适用于 任何模型 ,包括:

Qwen3-Coder-Next 教程GLM-4.7-Flash 教程

🔨工具调用设置

我们的第一步是获取最新的 llama.cppGitHub 这里。你也可以按照下面的构建说明操作。将 -DGGML_CUDA=ON 改为 -DGGML_CUDA=OFF 如果你没有 GPU,或者只想进行 CPU 推理。 对于 Apple Mac / Metal 设备,设置 -DGGML_CUDA=OFF 然后照常继续——Metal 支持默认开启。

apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
    -DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON
cmake --build llama.cpp/build --config Release -j --clean-first --target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp

在一个新终端中(如果使用 tmux,请使用 CTRL+B+D),我们创建一些工具,例如两个数字相加、执行 Python 代码、执行 Linux 函数等等:

然后我们使用下面的函数(复制并粘贴执行),它会自动解析函数调用,并为任何模型调用 OpenAI 端点:

在这个例子中我们使用的是 Devstral 2,当切换模型时,请确保使用正确的采样参数。你可以在我们的 指南这里查看全部内容.

现在我们将在下面展示多种针对不同用例运行工具调用的方法:

编写一个故事:

数学运算:

执行生成的 Python 代码

执行任意终端函数

🌠 Qwen3-Coder-Next 工具调用

在一个新终端中,我们创建一些工具,例如两个数字相加、执行 Python 代码、执行 Linux 函数等等:

然后我们使用下面的函数,它们会自动解析函数调用,并为任何 LLM 调用 OpenAI 端点:

现在我们将在下面展示多种针对不同用例运行工具调用的方法:

执行生成的 Python 代码

执行任意终端函数

我们确认文件已创建,而且确实创建了!

GLM-4.7-Flash + GLM 4.7 调用

我们首先下载 GLM-4.7GLM-4.7-Flash ,然后通过一些 Python 代码启动它,并在单独的终端中通过 llama-server 运行它(例如使用 tmux)。在这个例子中,我们下载的是大型 GLM-4.7 模型:

如果你成功运行了它,你应该会看到:

现在在新终端中通过 llama-server 启动它。如果你愿意,可以使用 tmux:

然后你会得到:

现在在一个新终端中并执行 Python 代码,提醒运行 Tool Calling Guide 我们使用 GLM 4.7 的最佳参数 temperature = 0.7 和 top_p = 1.0

GLM 4.7 的数学运算工具调用

GLM 4.7 执行生成的 Python 代码的工具调用

📙 Devstral 2 工具调用

我们首先下载 Devstral 2 通过一些 Python 代码,然后在单独的终端中通过 llama-server 启动它(例如使用 tmux):

如果你成功运行了它,你应该会看到:

现在在新终端中通过 llama-server 启动它。如果你愿意,可以使用 tmux:

如果成功,你会看到下面的内容:

然后我们使用以下消息调用模型,并仅使用 Devstral 建议的参数 temperature = 0.15。提醒运行 Tool Calling Guide

最后更新于

这有帮助吗?