深入 Kimi K2 工具调用协议:从特殊 Token 信封到 oh-my-pi 的内置方言转换器
【免费下载链接】oh-my-pi⌥ Coding agent with the IDE wired in项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-pi
本文以 oh-my-pi 仓库中的 Kimi K2 tool-calling 格式文档 为主体,完整拆解 Moonshot AI Kimi K2 家族(moonshotai/Kimi-K2-Instruct/-Base,model_type: "kimi_k2",1T 参数 MoE)的原生工具调用约定:ChatML 风格信封、五个专用工具标记 token、functions.{name}:{idx}调用 ID 规范、并行调用与工具结果回传格式,并结合 oh-my-pi 仓库中kimi方言的源码实现(扫描器状态机、渲染器、修复型 JSON 解析),讲解该协议如何被落地为一个完整的 in-band 转换器(选择方式:PI_DIALECT=kimi)。读完本文,你可以手工拼出字节级正确的 Kimi K2 提示流、正确解析模型输出的工具调用,并理解 oh-my-pi 如何在无原生工具通道(/completions直连)的场景下安全地完成流式扫描、事件化与历史重写。
一、协议总览:ChatML 信封 + 专用工具 section
Kimi K2 的原生工具调用建立在 ChatML 类信封之上,底层是 TikToken 词表(约 160K 词表规模)。每一轮消息渲染为:
<|im_{class}|>{name}<|im_middle|>{body}【免费下载链接】oh-my-pi⌥ Coding agent with the IDE wired in项目地址: https://gitcode.com/GitHub_Trending/oh/oh-my-pi
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考