跳转到主要内容
如果你已经将微调模型导出为 GGUF 格式,并且它正在 Ollama 或 llama.cpp 中运行,那么你就拥有了一个 localhost 端点,但无法从其他地方调用它。让微调模型保持原样,在其旁边运行 Tokios 连接器,并为其注册一个部署名称——你将获得一个真实的 https://api.tokios.com 端点,该端点使用 sk-tok-… 密钥进行保护,任何兼容 OpenAI 或 Anthropic 的客户端都可以调用它。

微调后的最后一步

文档中记录的微调路径——例如使用 Unsloth——最多只能帮你导出 GGUF 文件,并通过 Modelfile 使用 ollama create 加载它,或者使用 llama.cpp 的服务器提供服务;请根据你的 Unsloth 版本检查具体的导出和 ollama create 命令语法。这两种方法都能让你的微调模型在 127.0.0.1 上响应请求。 通常文档到这里就结束了。localhost 端点只能在同一台机器、同一个终端中工作,且仅在该进程运行时有效——它无法从队友的笔记本电脑、CI 作业、托管智能体或你自己的手机访问。将其转变为可从任何地方调用的服务是文档中未涵盖的最后一步,而这正是 Tokios 解决的具体问题:它不干预微调模型的创建方式或服务方式,只是让端点变得可访问且经过身份验证。
Tokios 不进行微调、量化或导出操作,也不修复聊天模板不匹配的问题。它从你的运行时已经暴露 OpenAI 兼容 /v1 API 的地方接手,并使该端点在 localhost 之外可调用。正确提供微调模型服务并使用正确的聊天模板,是你运行时的职责——如果你仍在决定如何提供服务,请参阅 选择本地模型。

步骤

1

确认你的微调模型正在本地提供服务

本指南假设你的 GGUF 已经加载,并通过 Ollama 或 llama.cpp 的服务器在 localhost 上响应请求。对于 Ollama,这通常是你使用 ollama create <name> -f Modelfile 加载的模型,并且已经可以使用 ollama run <name> 查询。对于 llama.cpp,这是在其默认端口上监听的 llama-server——请根据你的安装情况确认确切端口。无论如何,不要更改其绑定方式——让它保持在 127.0.0.1 上。
2

配对 Tokios 连接器

在 tokios.com/console 登录,打开 Setup 选项卡,然后点击 Start pairing。Tokios 会显示一个一次性配对码,例如 TKS-XXXX-XXXX,有效期约为 15 分钟。在运行微调模型的机器上,运行适用于你操作系统的安装单行命令:
Windows
macOS
Linux
已经安装了 tokios-connector?直接传递代码即可:
回到控制台,approve 该设备;你可以在 Setup 或 Connectors 选项卡中完成此操作。连接器令牌会在批准后通过隧道交付——你永远不会在屏幕上看到它,也不需要将其粘贴到文件中。
3

将连接器指向你运行时的 /v1 API

Tokios 与你运行时暴露的任何 OpenAI 兼容 /v1 接口通信——底层模型是微调模型而不是标准检查点这一点并不重要。对于基本的单模型路径,控制台的 Setup 向导会根据你选择的运行时自动填充上游(Ollama 为 http://127.0.0.1:11434/v1,llama.cpp 为 http://127.0.0.1:8080/v1)。如果你通过 tokios-connector.json 配置服务多个模型或适配器,请显式设置上游 BaseUrl:
请参阅 连接器配置 了解完整的多模型文件格式。
4

为你的微调模型注册部署名称

在 Models 选项卡中,注册你的微调模型并选择一个 public name(公共部署名称)——例如,my-finetune-tunnel。你在 ollama create 或 llama.cpp 中指定的本地模型 ID 并不是客户端在 model 字段中发送的值;客户端发送的是这个公共部署名称。它也用于区分你的微调模型与通过同一连接器提供服务的基础模型或其他微调模型。
5

创建 API 密钥

在 Keys 选项卡中,点击 Create key。可以选择将其范围限定为特定部署,使用模型名称模式(逗号分隔的通配符,* 表示全部)——如果你想要一个只能访问你的微调模型而不能访问其他内容的密钥,这非常有用。现在复制 sk-tok-… 密钥——它只显示一次。

从编程智能体使用你的微调模型

一旦你有了部署名称和 API 密钥,你的微调模型就可以像任何托管模型一样被访问——包括从 Claude Code 或任何 OpenAI SDK 客户端。
Claude Code 的模型选择器仅列出 claude* ID,因此你的微调模型的部署名称不会显示在其中。每次都要显式传递 --model my-finetune-tunnel。请参阅 使用 Claude Code 了解如何在会话之间持久化环境变量。
如果响应看起来格式错误、截断或语气不对,这几乎总是模型微调方式与运行时提示方式之间的聊天模板不匹配造成的——而不是 Tokios 路径中的问题。Tokios 将请求直接传递到你运行时的 /v1 API,不重写提示或模板。在运行时级别修复 Modelfile 或服务器提示模板,然后重新测试。

常见问题

不关心。Tokios 只看到一个 OpenAI 兼容的 /v1 端点和你映射到它的部署名称。该端点背后的权重是标准检查点、合并的微调模型还是 LoRA 适配器,对连接器或网关都没有区别。
可以。在 Models 选项卡中将每个模型注册为单独的部署,或者在 tokios-connector.json 配置中定义多个上游和路由,让一个连接器服务多个模型。请参阅 连接器配置 和 模型路由。
是的。设置 "stream": true,Tokios 返回标准的服务器发送事件 (SSE),格式为 OpenAI 或 Anthropic,具体取决于你调用的 API 接口——与其他任何部署相同。
不能。聊天模板的正确性——匹配微调模型训练时使用的特殊令牌和轮次格式——完全是你运行时的责任(Ollama 的 Modelfile TEMPLATE,或 llama.cpp 的服务器提示模板)。Tokios 将请求正文原样转发到你运行时的 /v1 API。

你的微调模型永远不会离开你的机器——你的端点随处可用

权重保留在你的硬件上,仍由你已经信任的 Ollama 或 llama.cpp 进程运行。连接器仅建立出站连接——没有入站端口,你的机器上也没有暴露的 API。之后的身份验证、路由和流式传输都通过一个端点完成;你可以从任何获得密钥的机器、团队成员或智能体调用它。

快速入门

配对连接器并端到端注册你的第一个模型。

API 密钥

为团队成员和智能体创建、限定范围和轮换 sk-tok-… 密钥。