1. Agent-SFT微调训练概述
在大模型应用开发中,Agent(智能体)的训练一直是核心难点。不同于传统的监督微调(SFT),Agent训练需要模型具备工具调用、多轮决策和结果整合等复杂能力。本文将详细介绍基于ms-swift框架的Agent-SFT微调全流程,包含数据集构建、训练配置和推理部署等关键环节。
Agent-SFT的核心是将多步决策过程建模为条件语言建模问题。具体来说,模型需要学会:
- 工具选择(Tool Selection):根据用户需求选择合适的API工具
- 参数生成(Argument Generation):正确构造工具调用所需的参数
- 结果整合(Response Synthesis):将工具返回结果整合成自然语言回复
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 数据集构建与格式解析
2.1 数据集核心结构
Agent训练数据集通常采用JSON格式,包含两个关键字段:
tools:描述可调用工具列表的JSON字符串messages:多轮对话记录,包含user、tool_call、tool_response和assistant四种角色
典型数据样本如下:
json复制{
"tools": "[{\"type\":\"function\",\"function\":{\"name\":\"realtime_aqi\",\"description\":\"获取实时空气质量\",\"parameters\":{\"type\":\"object\",\"properties\":{\"city\":{\"type\":\"string\"}},\"required\":[\"city\"]}}}]",
"messages": [
{"role":"user","content":"北京和上海今天的天气情况"},
{"role":"tool_call","content":"{\"name\":\"realtime_aqi\",\"arguments\":{\"city\":\"北京\"}}"},
{"role":"tool_response","content":"{\"city\":\"北京\",\"aqi\":\"10\"}"},
{"role":"assistant","conten
