把 LongCat-Flash-Chat 的轮次前缀、历史上下文和 <longcat_tool_call> XML 包装严格按官方模板拼接,可复现其开源权重的多轮对话与函数调用格式。
适合的任务:本地/自托管推理、多轮对话、工具调用和 Agent harness 的消息序列构造。
不适合的任务:直接把 XML 模板当作 OpenAI/Anthropic API 的请求 schema,或在没有 tokenizer 配置时自行改写特殊 token。
适用的模型版本:Meituan LongCat-Flash-Chat 开源权重;API 版本曾升级过,当前旧模型服务已退役,需先确认接入面。
适用的客户端、Agent 或 API:官方 tokenizer/chat template、SGLang、vLLM 适配;具体部署参数见仓库 Deployment Guide。
推荐的推理档位和参数:模型是 non-thinking foundation model;仓库未提供可统一复现的 temperature/top-p 组合,需由部署者固定。
[Round 0] USER:{query} ASSISTANT:SYSTEM:{system_prompt} [Round 0] USER:{query} ASSISTANT:SYSTEM:{system_prompt} [Round 0] USER:{query} ASSISTANT:{response}</longcat_s>... [Round N-1] USER:{query} ASSISTANT:{response}</longcat_s> [Round N] USER:{query} ASSISTANT:{tool_description}
## Messages
SYSTEM:{system_prompt} [Round 0] USER:{query} ASSISTANT:
## Tools
You have access to the following tools:
### Tool namespace: function
#### Tool name: {func.name}
Description: {func.description}
InputSchema:
{json.dumps(func.parameters, indent=2)}
For each function call, return a JSON object inside its own XML tag:
<longcat_tool_call>
{"name": <function-name>, "arguments": <args-dict>}
</longcat_tool_call>从仓库的 tokenizer_config.json 读取真实 chat template,不要只依赖 README 的简化示例。
先跑无工具首轮和多轮回显,确认特殊结束标记与轮次拼接一致。
将工具 schema 序列化进 ## Tools,要求模型只输出 <longcat_tool_call> 包装的 JSON。
harness 解析每个 XML 块、执行函数、把结果作为下一轮 USER/工具上下文返回,再独立验证最终答案。
记录模型版本、tokenizer、推理引擎、上下文长度和工具调用错误;不要把服务端 API 的 JSON tool schema 与本地模板混用。
官方仓库给出了首轮、系统提示、多轮和 ToolCall 四种模板。
工具调用约定使用 <longcat_tool_call> XML 标签,标签内是函数名和参数 JSON;多个函数调用连续使用多个标签。
官方仓库说明可用 SGLang 与 vLLM 的适配,并将详细部署放在 docs/deployment_guide.md。
模板是开源权重的输入/输出约定,不保证与每个第三方 API 网关兼容。
旧 API 服务在官方 Change Log 中已退役;若通过新平台调用,必须以当前模型列表和接口文档为准。
ToolCall 模板只规定格式,不保证工具选择正确、参数安全或最终任务成功;执行层需做 schema 校验、权限隔离和超时。
官方模板把轮次写成 [Round N] USER... ASSISTANT,并在多轮中保留 <longcat_s> 结束标记。
官方工具格式要求函数调用位于 <longcat_tool_call> 标签中,而不是自由文本描述。
LongCat Flash Chat