{
  "source_file": "0930",
  "source_platform": "知乎专栏",
  "author": "刘聪NLP",
  "title_listed": "单卡 3 小时训练专属大模型 Agent（LLaMA Factory 实战）",
  "keywords": "Agent,LLaMA Factory,微调",
  "domain": "大模型算法",
  "content_type": "工程实践",
  "is_paid_flag": "否",
  "url": "https://zhuanlan.zhihu.com/p/678989191",
  "publish_date": "2023",
  "corpus_stage": "后训练",
  "notes": "工具调用数据集 + SFT 训练专属 LLM Agent",
  "id": "91dd14a79c4b",
  "collected_at": "2026-10-02T18:39:15",
  "title": "单卡 3 小时训练专属大模型 Agent：基于 LLaMA Factory 实战 - 知乎",
  "body_markdown": "[![](https://zhuanlan.zhihu.com/p/678989191)](javascript:void\\(0\\))\n![ZhiHu logo](../images/body-e1fa91dbdb48b8055184.png)\n[](https://www.zhihu.com)\n[关注](https://www.zhihu.com/signin?next=%2Ffollow)[推荐](https://www.zhihu.com/signin?next=%2F)[热榜](https://www.zhihu.com/signin?next=%2Fhot)[专栏](https://www.zhihu.com/signin?next=%2Fcolumn-square)[圈子](https://www.zhihu.com/signin?next=%2Fring-feeds)[AI WorksBeta ](https://www.zhihu.com/project-square)[故事](https://www.zhihu.com/fiore/h5/vip-web)\n​\n[直答](https://zhida.zhihu.com/)\n切换模式\n登录/注册\n单卡 3 小时训练专属大模型 Agent：基于 LLaMA Factory 实战\n首发于[大模型的技术和应用](https://www.zhihu.com/column/c_1682683548300128256)\n切换模式\n![单卡 3 小时训练专属大模型 Agent：基于 LLaMA Factory 实战](../images/000.img)\n# 单卡 3 小时训练专属大模型 Agent：基于 LLaMA Factory 实战\n[![hiyouga](../images/032.jpg)](https://www.zhihu.com/people/hiyouga)\n[hiyouga](https://www.zhihu.com/people/hiyouga)\nNLPer\n[收录于 · 大模型的技术和应用](https://www.zhihu.com/column/c_1682683548300128256)\n452 人赞同了该文章\n## 引言\n**Agent（[智能体](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%99%BA%E8%83%BD%E4%BD%93&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmmbrog73kvZMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.mwtdoT3R7oIDwKcmRNwaDVCEwC4w5QgUeSan8_KFjFQ&zhida_source=entity)）**是当今 LLM（大模型）应用的热门话题[[1]](https://zhuanlan.zhihu.com/p/678989191#ref_1)，通过任务分解（task planning）、工具调用（tool using）和[多智能体协作](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%A4%9A%E6%99%BA%E8%83%BD%E4%BD%93%E5%8D%8F%E4%BD%9C&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLlpJrmmbrog73kvZPljY_kvZwiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.G2EEL0qXI4q9nfmq3Hg1_BzURC5931H0fd7r9QwiENw&zhida_source=entity)（multi-agent cooperation）等途径，LLM Agent 有望突破传统语言模型能力界限，体现出更强的智能水平。在这之中，**调用外部工具** 解决问题成为 LLM Agent 必不可缺的一项技能，模型根据用户问题从工具列表中选择恰当的工具，同时生成工具调用参数，综合工具返回结果和上下文信息总结出答案。通过调用外部工具，LLM 能够获取到**实时、准确** 的知识，大大降低了生成中的幻觉（[hallucination](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=hallucination&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJoYWxsdWNpbmF0aW9uIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.ivziqGDvST6uqE7JWzSFeupkrQDZXYmvID5B4kvn58o&zhida_source=entity)）现象，使 LLM 的任务解决能力得到长足的提升。工具调用能力的获得离不开[模型微调](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E5%BE%AE%E8%B0%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmqKHlnovlvq7osIMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.cX_jTYRjkWFx4NGYSsZeSv6n-6y8ctoSLQbChWwiTuA&zhida_source=entity)，尽管使用 [ReAct 提示](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=ReAct+%E6%8F%90%E7%A4%BA&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJSZUFjdCDmj5DnpLoiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.dqSRBecJDG2CanJEj7PDnCEgcL0IY9lOnz3Yuir1kFI&zhida_source=entity)[[2]](https://zhuanlan.zhihu.com/p/678989191#ref_2)或其他预训练模型也能实现类似效果，但对于定制化或更加广泛的工具，对模型做进一步微调能有效地提升工具使用能力。本文将会带领大家使用 [LLaMA Factory](https://link.zhihu.com/?target=https%3A//github.com/hiyouga/LLaMA-Factory) 的 **Agent Tuning** 功能，使用单张 GPU 在 3 小时内训练出自己专属的 LLM Agent。\n## 训练框架\n之前文章[[3]](https://zhuanlan.zhihu.com/p/678989191#ref_3)已经讲到，**LLaMA Factory** 是一个涵盖预训练、指令微调到 [RLHF](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=RLHF&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJSTEhGIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.6yCyX4jucxgng4dq1Aoqy9WMlxV6iUz2XUu09v9w-3c&zhida_source=entity) 阶段的开源全栈大模型微调框架，具备**高效、易用、可扩展** 的优点，配备有零代码可视化的一站式网页微调界面 [LLaMA Board](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=LLaMA+Board&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJMTGFNQSBCb2FyZCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.we3vjce8Ac5-4jpjvEl-yCNU7UpW-dDqISL3-J0Dbuk&zhida_source=entity)。经过半年多的升级迭代，LLaMA Board 网页微调界面在原先的基础上，丰富了多种新的功能，包括：\n  * 支持**约 120 种** 模型以及**约 50 种** 数据集，包括最新的 [DeepSeek MoE](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=DeepSeek+MoE&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJEZWVwU2VlayBNb0UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.kmUN0vBkjiHCqohNvfizsHDqTHYCmGQ5Q4z4V3fWtZs&zhida_source=entity) 混合专家模型\n  * 使用 [Flash Attention2](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Flash+Attention2&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJGbGFzaCBBdHRlbnRpb24yIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.o2U8KKv21_H6ekDPyKDzFz1hrYC4MGRTrTHZKYXiW7Y&zhida_source=entity) 和算子优化技术，实现**约 200% 的[LoRA](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=LoRA&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJMb1JBIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.ErghQ55qlMzDbbxfwNv6p-YVduQd9V_VMrOQrPCaFSg&zhida_source=entity) 训练速度**，大幅超越同类框架\n  * 集成魔搭社区（[ModelScope](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=ModelScope&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJNb2RlbFNjb3BlIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.LmavumA016SOFinj7Fr84A3120VPyFbcTx9ycCJWx1Y&zhida_source=entity)）下载渠道，国内用户可享受 **100%[带宽](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%B8%A6%E5%AE%BD&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLluKblrr0iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.uE80KqctxN8liOsRZeKnBTxp9LWvIr7ZxpJr9FErg50&zhida_source=entity)**的模型和数据下载\n  * 同时包含[预训练](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=3&q=%E9%A2%84%E8%AE%AD%E7%BB%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLpooTorq3nu4MiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MywiemRfdG9rZW4iOm51bGx9.0SzwJL45YkkEYXoCDolcn3ZF9D8SqyyxmJstWOZWsu8&zhida_source=entity)、[监督微调](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E7%9B%91%E7%9D%A3%E5%BE%AE%E8%B0%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLnm5HnnaPlvq7osIMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.avaWI-A9FyUnAotQdZ2VMuo5zfHgvknZRaLBfc0-X2o&zhida_source=entity)、RLHF、[DPO](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=DPO&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJEUE8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.WXau28SgLV_YYr5ufiVPiUmgVjD_visguuADu1-Lj6Y&zhida_source=entity) 四种[训练方法](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E8%AE%AD%E7%BB%83%E6%96%B9%E6%B3%95&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLorq3nu4Pmlrnms5UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.BO2YWSSIEypYxNPN1XoAU7RDI7qM1T0m5PlsJwYceUw&zhida_source=entity)，支持 **0-1** 复现 [ChatGPT](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=ChatGPT&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJDaGF0R1BUIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.gFaSz9tBLbGfgQlZhrkPN39Q_ZtZh31ZgDAuhG1ZjsM&zhida_source=entity) 训练流程\n  * 丰富的中英文**参数提示** ，实时的**状态监控** 和简洁的模型**断点管理** ，支持网页重连和刷新\n\n\n读者可以在 [HuggingFace Spaces](https://link.zhihu.com/?target=https%3A//huggingface.co/spaces/hiyouga/LLaMA-Board) 或 [魔搭社区](https://link.zhihu.com/?target=https%3A//modelscope.cn/studios/hiyouga/LLaMA-Board) 预览 LLaMA Board 网页微调界面。\n## 模型与数据\n本次我们选用[零一万物](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E9%9B%B6%E4%B8%80%E4%B8%87%E7%89%A9&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLpm7bkuIDkuIfniakiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.OgdqsYdRVAOFA6FGXjYpF_ImihJ1wyryOtMVoE2SUXQ&zhida_source=entity)[[4]](https://zhuanlan.zhihu.com/p/678989191#ref_4)发布的 **[Yi-6B](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Yi-6B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJZaS02QiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.o_dYR_cFN48yxB_3qQK2jY3Bp23MpEzudqiV4R5ONeE&zhida_source=entity)** 开源双语基座模型，该模型于 2023 年 11 月发布，拥有约 60 亿参数，通过在 3T 多语言语料上的预训练，取得了同等规模下优异的中英文 Benchmark 效果，且允许免费商用。由于 Yi-6B 是一个预训练基座模型，并不具备对话能力，因此我们选用多个[开源数据集](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%BC%80%E6%BA%90%E6%95%B0%E6%8D%AE%E9%9B%86&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLlvIDmupDmlbDmja7pm4YiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.2te3R1g4gQJKC8v40OCsFYuctceS6I7PwsW_Rhgx788&zhida_source=entity)对模型做指令监督微调（SFT）。在这些数据集中最关键的是**工具调用数据集** ，该数据集包含约十万条由 Glaive AI[[5]](https://zhuanlan.zhihu.com/p/678989191#ref_5)生成的关于工具调用的对话样本，我们将数据集处理为**多角色的多轮对话样本** ，包含用户（human）、模型（gpt）、工具调用（function_call）和工具返回结果（observation）四种不同角色，同时还有一个工具列表（tools）字段，以 OpenAI 的格式[[6]](https://zhuanlan.zhihu.com/p/678989191#ref_6)定义了可选工具。下面是数据集中的一个样本示例：\n\n```\n{\n  \"conversations\": [\n    {\n      \"from\": \"human\",\n      \"value\": \"I saw a dress that I liked. It was originally priced at $200 but it's on sale for 20% off. Can you tell me how much it will cost after the discount?\"\n    },\n    {\n      \"from\": \"function_call\",\n      \"value\": \"{\\\"name\\\": \\\"calculate_discount\\\", \\\"arguments\\\": {\\\"original_price\\\": 200, \\\"discount_percentage\\\": 20}}\"\n    },\n    {\n      \"from\": \"observation\",\n      \"value\": \"{\\\"discounted_price\\\": 160}\"\n    },\n    {\n      \"from\": \"gpt\",\n      \"value\": \"The dress will cost you $160 after the 20% discount.\"\n    }\n  ],\n  \"tools\": \"[{\\\"name\\\": \\\"calculate_discount\\\", \\\"description\\\": \\\"Calculate the discounted price\\\", \\\"parameters\\\": {\\\"type\\\": \\\"object\\\", \\\"properties\\\": {\\\"original_price\\\": {\\\"type\\\": \\\"number\\\", \\\"description\\\": \\\"The original price of the item\\\"}, \\\"discount_percentage\\\": {\\\"type\\\": \\\"number\\\", \\\"description\\\": \\\"The percentage of discount\\\"}}, \\\"required\\\": [\\\"original_price\\\", \\\"discount_percentage\\\"]}}]\"\n}\n```\n\n如果读者想要加入自定义工具，只需要按照上述格式组织[数据集](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=8&q=%E6%95%B0%E6%8D%AE%E9%9B%86&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmlbDmja7pm4YiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6OCwiemRfdG9rZW4iOm51bGx9.k6lxwxKknykCWC7QJ16n3HhYMO2-00HzIHpqc1n-fsA&zhida_source=entity)即可。除此之外，我们也在本次训练中加入 Alpaca-GPT-4 数据集[[7]](https://zhuanlan.zhihu.com/p/678989191#ref_7)和 Open-Assistant 数据集[[8]](https://zhuanlan.zhihu.com/p/678989191#ref_8)以提升模型的通用对话能力。\n## 环境准备\n文章默认读者有至少不弱于 **RTX 3090 24GB** 的显卡和足够的系统内存，且安装了 CUDA 11.1-12.3 任一版本，关于 CUDA 环境的配置此处不予赘述。\n我们已经将所有的程序打包，您可以选择自己的 [Anaconda](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Anaconda&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJBbmFjb25kYSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.u0T_8C-AvCsS0aJ3nHQSK-BWmdfKCt9KbBwmpTW1oEQ&zhida_source=entity) 环境，运行以下命令安装 LLaMA Factory。\n\n```\npip install llmtuner==0.5.1\n```\n\n接着从 [GitHub](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=GitHub&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJHaXRIdWIiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.FEeGbASfYvYzymkCUMiHHCJ9CDUITxn17fMBEGt80CM&zhida_source=entity) 下载数据集文件，这里以 Linux [命令行](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%91%BD%E4%BB%A4%E8%A1%8C&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLlkb3ku6TooYwiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.uOlYsF4LHtVXfQT57pbjA2R-PfOAwKtsO3OI-r2EFro&zhida_source=entity)方法为示例，您也可以选择从 GitHub 网页下载，下载后切换到新的文件目录，运行 ls 命令应当显示**同一级目录中存在 data 文件夹** 。\n\n```\ngit clone[](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=clone&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJjbG9uZSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.Cld852rFNlvHrIdDmSdqUG7IQsqDwxV45aTLyV8O9JA&zhida_source=entity) https://github.com/hiyouga/LLaMA-Factory.git\ncd LLaMA-Factory\nls # data src tests ...\n```\n\n由于 LLaMA Board 网页微调界面仅支持单卡训练，需要设置[环境变量](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLnjq_looPlj5jph48iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.G_2PPDOBmUABWEJFZNzvo_iswqr_ELPhHFJYz3TETZ4&zhida_source=entity)指定使用的显卡序号。此外可以选择模型下载源，这里推荐国内用户使用魔搭社区下载渠道。\n\n```\nexport CUDA_VISIBLE_DEVICES=0 # 使用第一块 GPU\nexport USE_MODELSCOPE_HUB=1 # 使用魔搭社区下载渠道\n```\n\n如果您使用的是 Windows 系统，同样需要配置相关环境变量。\n\n```\nset CUDA_VISIBLE_DEVICES=0\nset USE_MODELSCOPE_HUB=1\n```\n\n然后使用下述命令启动 LLaMA Board 网页微调界面。\n\n```\nunset http_proxy https_proxy all_proxy # 关闭代理\npython -m llmtuner.webui.interface\n```\n\n## 训练流程\n① 打开浏览器，在地址栏输入 **localhost:7860** 进入 LLaMA Board，可以看到以下界面，点击左上角的 **lang** 选项中将界面语言切换为中文。\n![](../images/004.jpg)\n② 点击**模型名称** ，选择 Yi-6B 模型，此时**[模型路径](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E8%B7%AF%E5%BE%84&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmqKHlnovot6_lvoQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.jOMbsNTy6WqubDno7HSYjFOx2OifuNXFKiw6L5hczOo&zhida_source=entity)** 默认会显示[远程模型](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E8%BF%9C%E7%A8%8B%E6%A8%A1%E5%9E%8B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLov5znqIvmqKHlnosiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.eda_AH1rixuY7VMzSooy46rkZTRpwzLeMAkPRjLUi0s&zhida_source=entity)地址，如果您已经将模型文件全部下载至本地，可以手动将其修改为本地文件夹路径。\n![](../images/005.jpg)\n③ 如果您已经安装过 [Flash Attention-2](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Flash+Attention-2&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJGbGFzaCBBdHRlbnRpb24tMiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.8bjPDLaSYUHe4UkbOXC6jQXfCBCxFKz75oPx8mDdwfA&zhida_source=entity) 或 Unsloth，可以点击**高级设置-加速方式** 提升训练速度，其中 Flash Attention-2[[9]](https://zhuanlan.zhihu.com/p/678989191#ref_9)可提升至 120% 左右的速度，Unsloth[[10]](https://zhuanlan.zhihu.com/p/678989191#ref_10)可提升至 170% 左右的速度。此处我们略过安装过程，请各位读者自行查阅参考文献中的 GitHub 仓库安装，如果两者均未安装，请保持加速方式为 None。\n![](../images/007.jpg)\n④ 点击**数据集** ，选择我们此次要使用的四个数据集 glaive_toolcall、[alpaca_gpt4_en](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=alpaca_gpt4_en&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJhbHBhY2FfZ3B0NF9lbiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.G47SQROKhk8oUceklTXWLk_xJxVQ8SgDjXUmxvO79Lw&zhida_source=entity)、alpaca_gpt4_zh 和 oaast_sft_zh，如果数据集下拉框为空白，请检查**数据路径** 是否正确。选择后点击**预览数据集** 按钮可预览数据集。\n![](../images/008.jpg)\n![](../images/010.jpg)\n⑤ 训练参数中与[显存占用](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%98%BE%E5%AD%98%E5%8D%A0%E7%94%A8&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmmL7lrZjljaDnlKgiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.1rS24GwotPLprEhl4IsTgCbXKLPVwxtxHDB6_b3JHus&zhida_source=entity)有紧密关联的是**[截断长度](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%88%AA%E6%96%AD%E9%95%BF%E5%BA%A6&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmiKrmlq3plb_luqYiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.O3lI5pyxuRF9nRy_zJstFcE-NxQvkC2990rjx4cQCJQ&zhida_source=entity)** 和**批处理大小** 选项，我们暂时保持默认。这里仅将**训练轮数** 设置为 2.0，**最大样本数** 设置为 8000，**LoRA 参数设置-LoRA 作用模块** 设置为 all。\n![](../images/011.jpg)\n⑥ 将页面翻到底部，将**输出目录** 设置为 yi-agent-6b，训练后的模型文件会保存在 saves/Yi-6B/lora/yi-agent-6b 中。点击**预览命令** 按钮可以看到当前配置对应的命令行脚本，如果您想使用[多卡训练](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%A4%9A%E5%8D%A1%E8%AE%AD%E7%BB%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLlpJrljaHorq3nu4MiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.oUm7FL5VEluXT664mNU-K_8Vtl73q_ILlDg4CA-Smpc&zhida_source=entity)，可以参考下述命令来编写多卡训练脚本。\n![](../images/012.jpg)\n⑦ 点击**开始** 按钮启动[模型训练](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E8%AE%AD%E7%BB%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmqKHlnovorq3nu4MiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.ddBF-x093ClPoTJqRPv7KhfAoqOrGNz5DvXR8hyKOdc&zhida_source=entity)，训练日志和损失变化图会实时展现在页面中，此时可以自由关闭或刷新网页，在本文的测试环境（A100 40GB * 1）下，约 3 小时即可完成模型训练。\n![](../images/013.jpg)\n⑧ 训练结束后，我们切换到 **Chat** 栏，点击**刷新适配器** 按钮，将**适配器路径** 切换至 yi-agent-6b，点击**加载模型** 按钮载入刚刚训练好的模型。\n![](../images/014.jpg)\n如果模型可以正常加载，那么恭喜你！仅花费一部电影的时间，就成功训练出了自己专属的 LLM Agent。\n## 效果展示\n① 基本对话\n![](../images/015.jpg)\n② 工具调用 - 查询天气\n  * Yi-Agent-6B（本文微调的模型）：正确理解工具返回结果并得出答案。\n\n\n![](../images/016.jpg)\n  * Yi-6B-Chat（零一万物发布的指令模型）：无法理解工具返回结果。\n\n\n![](../images/017.jpg)\n③ 工具调用 - 计算 GPA\n  * Yi-Agent 6B（本文微调的模型）：正确生成工具调用并得到答案。\n\n\n![](../images/018.jpg)\n  * Yi-6B-Chat（零一万物发布的指令模型）：无法生成工具调用。\n\n\n![](../images/019.jpg)\n从上述几个例子中可以看出，经过微调后的 Yi-6B 模型成功具备了**选择工具-调用工具-总结答案** 的出色能力，在 Agent 方面的性能显著超越原始 Yi-6B-Chat 模型。由于网页界面功能有限，我们这里手动输入了工具调用结果，在下面的章节，我们将会展示如何使用 LLaMA Factory 将 LLM Agent 部署到实际生产环境中。\n## [模型部署](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E9%83%A8%E7%BD%B2&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmqKHlnovpg6jnvbIiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.orhBuSMvnCI6kbQ7Ed5wO8rgSY8Ni7MdTFCfhp2RmF0&zhida_source=entity)\n① 切换到 **Export** 栏，选择**最大分块大小** 为 2GB，填写**导出目录** 为 models/yi-agent-6b，点击**开始导出** 按钮，将 LoRA 权重合并到模型中，同时保存完整模型文件，保存后的模型可以通过 [transformers](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=transformers&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJ0cmFuc2Zvcm1lcnMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.PSUXAR20HHilXAao-W3kwn2fxUBbTQ0VG70QjD9TbJ0&zhida_source=entity) 等直接加载。\n![](../images/020.jpg)\n② 在终端输入以下命令启动 API 服务。\n\n```\npython -m llmtuner.api.app --model_name_or_path models/yi-agent-6b --template default\n```\n\n该命令会在本地启动一个和 OpenAI 格式相同的 [RESTFul API](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=RESTFul+API&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJSRVNURnVsIEFQSSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.6Z1-5RKHThbJ1StzmLAJgo3LYcXD03Jjl4c2vX2unqc&zhida_source=entity)，这时我们可以直接用**本地模型来替代 GPT-3.5 的函数调用功能** ！下面是一个使用 [openai-python](https://link.zhihu.com/?target=https%3A//github.com/openai/openai-python) 库来调用本地模型，实现 LLM Agent 功能的示例代码。\n\n```\nimport os\nimport json\nfrom openai import OpenAI\nfrom typing import Sequence\n\nos.environ[\"OPENAI_BASE_URL\"] = \"http://192.168.0.1:8000/v1\" # 替换为本地主机 IP\nos.environ[\"OPENAI_API_KEY\"] = \"0\"\n\ndef calculate_gpa(grades: Sequence[str], hours: Sequence[int]) -> float:\n    grade_to_score = {\"A\": 4, \"B\": 3, \"C\": 2}\n    total_score, total_hour = 0, 0\n    for grade, hour in zip(grades, hours):\n        total_score += grade_to_score[grade] * hour\n        total_hour += hour\n    return total_score / total_hour\n\ntool_map = {\n    \"calculate_gpa\": calculate_gpa\n}\n\nif __name__ == \"__main__\":\n    client = OpenAI()\n    tools = [\n        {\n            \"type\": \"function\",\n            \"function\": {\n                \"name\": \"calculate_gpa\",\n                \"description\": \"根据课程成绩和学时计算 GPA\",\n                \"parameters\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                        \"grades\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}, \"description\": \"课程成绩\"},\n                        \"hours\": {\"type\": \"array\", \"items\": {\"type\": \"integer\"}, \"description\": \"课程学时\"},\n                    },\n                    \"required\": [\"grades\", \"hours\"],\n                },\n            },\n        }\n    ]\n    messages = []\n    messages.append({\"role\": \"user\", \"content\": \"我的成绩是 A, A, B, C，学时是 3, 4, 3, 2\"})\n    result = client.chat.completions.create(messages=messages, model=\"yi-agent-6b\", tools=tools)\n    tool_call = result.choices[0].message.tool_calls[0].function\n    name, arguments = tool_call.name, json.loads(tool_call.arguments)\n    messages.append({\"role\": \"function\", \"content\": json.dumps({\"name\": name, \"argument\": arguments}, ensure_ascii=False)})\n    tool_result = tool_map[name](**arguments)\n    messages.append({\"role\": \"tool\", \"content\": json.dumps({\"gpa\": tool_result}, ensure_ascii=False)})\n    result = client.chat.completions.create(messages=messages, model=\"yi-agent-6b\", tools=tools)\n    print(result.choices[0].message.content)\n    # 根据你的成绩和学时，你的平均绩点 (GPA) 为 3.4166666666666665。\n```\n\nLLaMA Factory 在今后还将不断升级，欢迎大家关注我们的 GitHub 项目：\n[](https://link.zhihu.com/?target=https%3A//github.com/hiyouga/LLaMA-Factory)\n同时，我们也将本文的模型上传到了 [Hugging Face](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Hugging+Face&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJIdWdnaW5nIEZhY2UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.H5rdOLV5liRVg9_PpKkdNEsJXJCeBa1PP-A1HB9VL7I&zhida_source=entity)，如果您有资源，一定要亲自动手训练一个大模型 Agent！\n[](https://link.zhihu.com/?target=https%3A//huggingface.co/hiyouga/Yi-Agent-6B)\n## 参考\n  1. [^](https://zhuanlan.zhihu.com/p/678989191#ref_1_0)The Rise and Potential of Large Language Model Based Agents: A Survey <https://arxiv.org/pdf/2309.07864.pdf>\n  2. [^](https://zhuanlan.zhihu.com/p/678989191#ref_2_0)ReAct: Synergizing Reasoning and Acting in Language Models <https://arxiv.org/pdf/2210.03629.pdf>\n  3. [^](https://zhuanlan.zhihu.com/p/678989191#ref_3_0)打造 LLM 界的 Web UI：24GB 显卡训练百亿大模型 <https://zhuanlan.zhihu.com/p/645010851>\n  4. [^](https://zhuanlan.zhihu.com/p/678989191#ref_4_0)01-ai <https://01.ai/>\n  5. [^](https://zhuanlan.zhihu.com/p/678989191#ref_5_0)Glaive AI <https://glaive.ai/>\n  6. [^](https://zhuanlan.zhihu.com/p/678989191#ref_6_0)OpenAI Function Calling <https://openai.com/blog/function-calling-and-other-api-updates>\n  7. [^](https://zhuanlan.zhihu.com/p/678989191#ref_7_0)Alpaca-GPT-4 Data <https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM>\n  8. [^](https://zhuanlan.zhihu.com/p/678989191#ref_8_0)Open-Assistant <https://github.com/LAION-AI/Open-Assistant>\n  9. [^](https://zhuanlan.zhihu.com/p/678989191#ref_9_0)Flash Attention <https://github.com/Dao-AILab/flash-attention>\n  10. [^](https://zhuanlan.zhihu.com/p/678989191#ref_10_0)Unsloth <https://github.com/unslothai/unsloth>\n\n\n编辑于 2024-01-22 03:09・北京\n​赞同 452​​98 条评论​854 ​71 \n​分享\n​申请转载​\n​\n![](../images/021.jpeg)\n未登录用户\n  \n\n98 条评论\n默认\n最新\n[![黯淡蓝点](../images/022.jpg)](https://www.zhihu.com/people/7a3e317f97fe7e4cdb0f2b174b4b0da1)\n[黯淡蓝点](https://www.zhihu.com/people/7a3e317f97fe7e4cdb0f2b174b4b0da1)\n活捉llama factory核心开发者一枚！![\\[调皮\\]](https://pic1.zhimg.com/v2-76c864a7fd5ddc110965657078812811.png)\n2024-01-22 · 广东\n​回复​7\n[![指点江山](../images/023.jpg)](https://www.zhihu.com/people/e0c69eeb19aca855f50762d2805efe96)\n[指点江山](https://www.zhihu.com/people/e0c69eeb19aca855f50762d2805efe96)\n![](../images/body-a7060a32222ae0d7312a.jpg)\n![\\[赞\\]](https://pic1.zhimg.com/v2-c71427010ca7866f9b08c37ec20672e0.png)![\\[赞\\]](https://pic1.zhimg.com/v2-c71427010ca7866f9b08c37ec20672e0.png)![\\[赞\\]](https://pic1.zhimg.com/v2-c71427010ca7866f9b08c37ec20672e0.png)及时雨，感谢Llama Factory天团![\\[赞同\\]](https://pic2.zhimg.com/v2-419a1a3ed02b7cfadc20af558aabc897.png)\n2024-01-22 · 北京\n​回复​1\n[![saga](../images/027.jpg)](https://www.zhihu.com/people/418e669c7bae11f8c5787e5577494226)\n[saga](https://www.zhihu.com/people/418e669c7bae11f8c5787e5577494226)\n数据集的格式为什么这么定义 有什么资料可以参考吗\n2024-03-29 · 中国香港\n​回复​2\n[![禾路](../images/025.jpg)](https://www.zhihu.com/people/86d2f6b064d88728283e4a3701eff6e5)\n[禾路](https://www.zhihu.com/people/86d2f6b064d88728283e4a3701eff6e5)\n认知一个事物，往往需要尝试、反馈、修改，重复这个过程，建立自己的体系。  \n微调这项工作，因为消耗资源、时间比较长，导致反馈困难。所以对它的研究需要进行专门设计。\nLlama-factory在这个方面给我们做了很好的支持，感谢！\n2024-05-05 · 江苏\n​回复​2\n[![Fener](../images/026.jpg)](https://www.zhihu.com/people/6c7c6ac38b49dc9071c1f9222d2d9755)\n[Fener](https://www.zhihu.com/people/6c7c6ac38b49dc9071c1f9222d2d9755)\n你好，我下载了yi-agent-6b，使用openai的方式请求时，返回的tool_call是None，然后这个代码就报错NoneType（代码：tool_call = result.choices[0].message.tool_calls[0].function）,为啥我这请求不到哈，是用的你文章里的demo案例\n2024-02-01 · 河北\n​回复​2\n展开其他 2 条回复​\n[![飞舞的蛋蛋](../images/027.jpg)](https://www.zhihu.com/people/93e3e9bad36ecf147c0f7e9c67453b50)\n[飞舞的蛋蛋](https://www.zhihu.com/people/93e3e9bad36ecf147c0f7e9c67453b50)\n怎么用transformers加载训练好的模型\n2024-03-27 · 江西\n​回复​1\n[![LexOldDad](../images/028.jpg)](https://www.zhihu.com/people/930961ea9d61a547fe770f1cd7475a77)\n[LexOldDad](https://www.zhihu.com/people/930961ea9d61a547fe770f1cd7475a77)\n请问大佬，数据集能用中文的吗，每个function call一般得多少条训练数据集才合适\n2024-01-23 · 广东\n​回复​1\n展开其他 2 条回复​\n[![冰凌舞](../images/029.jpg)](https://www.zhihu.com/people/304b3988c96837432e05f668964cfa12)\n[冰凌舞](https://www.zhihu.com/people/304b3988c96837432e05f668964cfa12)\n请问支持 qwen这样子微调tools能力吗？ \n2024-01-22 · 北京\n​回复​1\n[![hiyouga](../images/030.jpg)](https://www.zhihu.com/people/68ebf9365e2c5e930b79ffbbdab9e59b)\n[hiyouga](https://www.zhihu.com/people/68ebf9365e2c5e930b79ffbbdab9e59b)\n作者\n支持所有模型\n2024-01-22 · 北京\n​回复​1\n[![不语](../images/031.jpg)](https://www.zhihu.com/people/9d1f871ec9f407ff79c2bf280b3cb969)\n[不语](https://www.zhihu.com/people/9d1f871ec9f407ff79c2bf280b3cb969)\n佬 我想问问如果有system应该怎么办呢\n07-07 · 黑龙江\n​回复​喜欢\n点击查看全部评论\n![](../images/021.jpeg)\n未登录用户\n  \n\n关于作者\n[![hiyouga](../images/032.jpg)](https://www.zhihu.com/people/hiyouga)\n[hiyouga](https://www.zhihu.com/people/hiyouga)\nNLPer\n[ 回答 **3** ](https://www.zhihu.com/people/hiyouga/answers)[ 文章 **4** ](https://www.zhihu.com/people/hiyouga/posts)[ 关注者 **1,768** ](https://www.zhihu.com/people/hiyouga/followers)\n​关注他​发私信\n大家都在搜\n换一换\n[江歌妈妈发长文尘埃终将落定706 万](https://www.zhihu.com/search?q=%E6%B1%9F%E6%AD%8C%E5%A6%88%E5%A6%88%E5%8F%91%E9%95%BF%E6%96%87%E5%B0%98%E5%9F%83%E7%BB%88%E5%B0%86%E8%90%BD%E5%AE%9A&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[中国男足 0-5 巴勒斯坦564 万](https://www.zhihu.com/search?q=%E4%B8%AD%E5%9B%BD%E7%94%B7%E8%B6%B3+0-5+%E5%B7%B4%E5%8B%92%E6%96%AF%E5%9D%A6&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[原央视主持人阿丘回应被通报422 万](https://www.zhihu.com/search?q=%E5%8E%9F%E5%A4%AE%E8%A7%86%E4%B8%BB%E6%8C%81%E4%BA%BA%E9%98%BF%E4%B8%98%E5%9B%9E%E5%BA%94%E8%A2%AB%E9%80%9A%E6%8A%A5&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[华为与赛力斯达成新五年合作411 万](https://www.zhihu.com/search?q=%E5%8D%8E%E4%B8%BA%E4%B8%8E%E8%B5%9B%E5%8A%9B%E6%96%AF%E8%BE%BE%E6%88%90%E6%96%B0%E4%BA%94%E5%B9%B4%E5%90%88%E4%BD%9C&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[迪拜航空确认航班发生事故400 万](https://www.zhihu.com/search?q=%E8%BF%AA%E6%8B%9C%E8%88%AA%E7%A9%BA%E7%A1%AE%E8%AE%A4%E8%88%AA%E7%8F%AD%E5%8F%91%E7%94%9F%E4%BA%8B%E6%95%85&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[东航回应网传空姐跪地道歉327 万](https://www.zhihu.com/search?q=%E4%B8%9C%E8%88%AA%E5%9B%9E%E5%BA%94%E7%BD%91%E4%BC%A0%E7%A9%BA%E5%A7%90%E8%B7%AA%E5%9C%B0%E9%81%93%E6%AD%89&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)\n[王楚钦：不知道为什么就是感觉累320 万](https://www.zhihu.com/search?q=%E7%8E%8B%E6%A5%9A%E9%92%A6%EF%BC%9A%E4%B8%8D%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E5%B0%B1%E6%98%AF%E6%84%9F%E8%A7%89%E7%B4%AF&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[江苏高考作文《衬衫的价格为 9 磅 15 便士》爆火268 万](https://www.zhihu.com/search?q=%E6%B1%9F%E8%8B%8F%E9%AB%98%E8%80%83%E4%BD%9C%E6%96%87%E3%80%8A%E8%A1%AC%E8%A1%AB%E7%9A%84%E4%BB%B7%E6%A0%BC%E4%B8%BA+9+%E7%A3%85+15+%E4%BE%BF%E5%A3%AB%E3%80%8B%E7%88%86%E7%81%AB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)\n[女装网店开始用防拆带了265 万](https://www.zhihu.com/search?q=%E5%A5%B3%E8%A3%85%E7%BD%91%E5%BA%97%E5%BC%80%E5%A7%8B%E7%94%A8%E9%98%B2%E6%8B%86%E5%B8%A6%E4%BA%86&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)\n[孕妇骑车别车被司机踹翻258 万](https://www.zhihu.com/search?q=%E5%AD%95%E5%A6%87%E9%AA%91%E8%BD%A6%E5%88%AB%E8%BD%A6%E8%A2%AB%E5%8F%B8%E6%9C%BA%E8%B8%B9%E7%BF%BB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)\n### 推荐阅读\n[ ![0.5B以小搏大拿下端侧模型新SOTA：4090可跑，长文本处理5倍常规加速丨清华&面壁开源](../images/034.jpg)0.5B以小搏大拿下端侧模型新SOTA：4090可跑，长文本处理5倍常规加速丨清华&面壁开源 量子位 ](https://zhuanlan.zhihu.com/p/1915794711731503711)# [o1正式版还没上线，但是多模态o1模型LLaVA-o1已经来了 刚刚，清华等国内研究机构推出了 多模态模型LLaVA-o1[1]，LLaVA-o1是一个新颖的视觉-语言模型（VLM），旨在进行自主的多阶段推理，类似OpenAI的o1。与链式思维提示（CoT）不同，LLaVA-o1可… 小小将 ](https://zhuanlan.zhihu.com/p/7628772101)[ ![十大战略工具（4）—— SCQA架构](../images/036.jpg)十大战略工具（4）—— SCQA架构 Super...发表于2021生... ](https://zhuanlan.zhihu.com/p/159053940)# [开源大模型Llama 3王者归来！最大底牌4000亿参数，性能直逼GPT-4 机器之心报道。 ChatGPT 拉开了大模型竞赛的序幕，Meta 似乎要后来居上了。 本周四，AI 领域迎来重大消息，Meta 正式发布了人们等待已久的开源大模型 Llama 3。 扎克伯格在 Facebook 上发帖… 机器之心发表于机器之心 ](https://zhuanlan.zhihu.com/p/693298827) \n\n_想来知乎工作？请发送邮件到 jobs@zhihu.com_\n打开知乎App\n在「我的页」右上角打开扫一扫\n![](../images/body-0f9788d006ab0f4da762.png)\n其他扫码方式：微信\n下载知乎App\n无障碍模式\n验证码登录\n密码登录\n[开通机构号](https://zhuanlan.zhihu.com/org/signup)\n中国 +86\n获取短信验证码\n忘记密码\n登录/注册\n其他方式登录\n未注册手机验证后自动登录，注册即代表同意[《知乎协议》](https://www.zhihu.com/term/zhihu-terms)[《隐私保护指引》](https://www.zhihu.com/term/privacy)\n扫码下载知乎 App\n关闭二维码\n",
  "metadata": {
    "title": "单卡 3 小时训练专属大模型 Agent：基于 LLaMA Factory 实战 - 知乎",
    "description": "引言 Agent（智能体）是当今 LLM（大模型）应用的热门话题[1]，通过任务分解（task planning）、工具调用（tool using）和多智能体协作（multi-agent cooperation）等途径，LLM Agent 有望突破传统语言模型能力界…",
    "keywords": null,
    "author": null,
    "og:title": "单卡 3 小时训练专属大模型 Agent：基于 LLaMA Factory 实战",
    "og:url": "https://zhuanlan.zhihu.com/p/678989191",
    "og:description": "引言 Agent（智能体）是当今 LLM（大模型）应用的热门话题[1]，通过任务分解（task planning）、工具调用（tool using）和多智能体协作（multi-agent cooperation）等途径，LLM Agent 有望突破传统语言模型能力界…",
    "og:image": "https://picx.zhimg.com/v2-4fc78d1daa24c1bab684ce6fc8cef294_720w.jpg?source=172ae18b",
    "og:type": "article",
    "og:site_name": "知乎专栏"
  },
  "paywall": {
    "listed_paid": false,
    "detected": false,
    "marker": "",
    "public_only": false,
    "policy": "付费/会员内容只保留页面公开可见部分，不绕过付费墙"
  },
  "crawl": {
    "success": true,
    "status_code": 200,
    "error": ""
  },
  "code_blocks": [
    {
      "language": "txt",
      "file": "attachments/91dd14a79c4b/code/block_000.txt",
      "chars": 1006
    },
    {
      "language": "txt",
      "file": "attachments/91dd14a79c4b/code/block_001.txt",
      "chars": 28
    },
    {
      "language": "txt",
      "file": "attachments/91dd14a79c4b/code/block_002.txt",
      "chars": 512
    },
    {
      "language": "txt",
      "file": "attachments/91dd14a79c4b/code/block_003.txt",
      "chars": 83
    },
    {
      "language": "txt",
      "file": "attachments/91dd14a79c4b/code/block_004.txt",
      "chars": 52
    },
    {
      "language": "txt",
      "file": "attachments/91dd14a79c4b/code/block_005.txt",
      "chars": 81
    },
    {
      "language": "txt",
      "file": "attachments/91dd14a79c4b/code/block_006.txt",
      "chars": 86
    },
    {
      "language": "txt",
      "file": "attachments/91dd14a79c4b/code/block_007.txt",
      "chars": 2015
    }
  ],
  "images": [
    {
      "status": "http_403",
      "url": "https://zhuanlan.zhihu.com/p/678989191",
      "src": "https://zhuanlan.zhihu.com/p/678989191",
      "alt": "",
      "downloaded": false,
      "discovery": "saved_markdown",
      "retried_at": "2026-10-20T17:40:54Z"
    }
  ],
  "audio": [],
  "videos": [],
  "links": [
    {
      "type": "internal",
      "href": "https://www.zhihu.com"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2Ffollow"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2F"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2Fhot"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2Fcolumn-square"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/signin?next=%2Fring-feeds"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/project-square"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/fiore/h5/vip-web"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/column/c_1682683548300128256"
    },
    {
      "type": "internal",
      "href": "https://www.zhihu.com/people/hiyouga"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%99%BA%E8%83%BD%E4%BD%93&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmmbrog73kvZMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.mwtdoT3R7oIDwKcmRNwaDVCEwC4w5QgUeSan8_KFjFQ&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhuanlan.zhihu.com/p/678989191"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%A4%9A%E6%99%BA%E8%83%BD%E4%BD%93%E5%8D%8F%E4%BD%9C&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLlpJrmmbrog73kvZPljY_kvZwiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.G2EEL0qXI4q9nfmq3Hg1_BzURC5931H0fd7r9QwiENw&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=hallucination&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJoYWxsdWNpbmF0aW9uIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.ivziqGDvST6uqE7JWzSFeupkrQDZXYmvID5B4kvn58o&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E5%BE%AE%E8%B0%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmqKHlnovlvq7osIMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.cX_jTYRjkWFx4NGYSsZeSv6n-6y8ctoSLQbChWwiTuA&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=ReAct+%E6%8F%90%E7%A4%BA&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJSZUFjdCDmj5DnpLoiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.dqSRBecJDG2CanJEj7PDnCEgcL0IY9lOnz3Yuir1kFI&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://link.zhihu.com/?target=https%3A%2F%2Fgithub.com%2Fhiyouga%2FLLaMA-Factory"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=RLHF&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJSTEhGIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.6yCyX4jucxgng4dq1Aoqy9WMlxV6iUz2XUu09v9w-3c&zhida_source=entity"
    },
    {
      "type": "internal",
      "href": "https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=LLaMA+Board&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJMTGFNQSBCb2FyZCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.we3vjce8Ac5-4jpjvEl-yCNU7UpW-dDqISL3-J0Dbuk&zhida_source=entity"
    },
    {
      "type": "external",
      "href": "javascript:void(0)"
    },
    {
      "type": "external",
      "href": "https://arxiv.org/pdf/2309.07864.pdf"
    },
    {
      "type": "external",
      "href": "https://arxiv.org/pdf/2210.03629.pdf"
    },
    {
      "type": "external",
      "href": "https://01.ai/"
    },
    {
      "type": "external",
      "href": "https://glaive.ai/"
    },
    {
      "type": "external",
      "href": "https://openai.com/blog/function-calling-and-other-api-updates"
    },
    {
      "type": "external",
      "href": "https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM"
    },
    {
      "type": "external",
      "href": "https://github.com/LAION-AI/Open-Assistant"
    },
    {
      "type": "external",
      "href": "https://github.com/Dao-AILab/flash-attention"
    },
    {
      "type": "external",
      "href": "https://github.com/unslothai/unsloth"
    }
  ],
  "repair_version": 2,
  "repaired_at": "2026-10-20T17:24:47Z",
  "source_url": "https://zhuanlan.zhihu.com/p/678989191",
  "delivery_status": "unverified",
  "discovery_status": "http_403",
  "missing_reason": "源页面未重新核验:http_403；已按保留正文补采图片",
  "repair_error": "",
  "actual_video_files": [],
  "expected_saved_body_images": 1,
  "image_discovery": "saved_markdown",
  "source_body_markdown": "[![](https://zhuanlan.zhihu.com/p/678989191)](javascript:void\\(0\\))\n![ZhiHu logo](https://static.zhihu.com/heifetz/assets/wechat-share-logo.39ea9ecd.png)\n[](https://www.zhihu.com)\n[关注](https://www.zhihu.com/signin?next=%2Ffollow)[推荐](https://www.zhihu.com/signin?next=%2F)[热榜](https://www.zhihu.com/signin?next=%2Fhot)[专栏](https://www.zhihu.com/signin?next=%2Fcolumn-square)[圈子](https://www.zhihu.com/signin?next=%2Fring-feeds)[AI WorksBeta ](https://www.zhihu.com/project-square)[故事](https://www.zhihu.com/fiore/h5/vip-web)\n​\n[直答](https://zhida.zhihu.com/)\n切换模式\n登录/注册\n单卡 3 小时训练专属大模型 Agent：基于 LLaMA Factory 实战\n首发于[大模型的技术和应用](https://www.zhihu.com/column/c_1682683548300128256)\n切换模式\n![单卡 3 小时训练专属大模型 Agent：基于 LLaMA Factory 实战](https://picx.zhimg.com/70/v2-4fc78d1daa24c1bab684ce6fc8cef294_1440w.image?source=172ae18b&biz_tag=Post)\n# 单卡 3 小时训练专属大模型 Agent：基于 LLaMA Factory 实战\n[![hiyouga](https://pic1.zhimg.com/v2-7a21ac66182c1bde68867d22d53988d0_l.jpg?source=32738c0c&needBackground=1)](https://www.zhihu.com/people/hiyouga)\n[hiyouga](https://www.zhihu.com/people/hiyouga)\nNLPer\n[收录于 · 大模型的技术和应用](https://www.zhihu.com/column/c_1682683548300128256)\n452 人赞同了该文章\n## 引言\n**Agent（[智能体](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%99%BA%E8%83%BD%E4%BD%93&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmmbrog73kvZMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.mwtdoT3R7oIDwKcmRNwaDVCEwC4w5QgUeSan8_KFjFQ&zhida_source=entity)）**是当今 LLM（大模型）应用的热门话题[[1]](https://zhuanlan.zhihu.com/p/678989191#ref_1)，通过任务分解（task planning）、工具调用（tool using）和[多智能体协作](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%A4%9A%E6%99%BA%E8%83%BD%E4%BD%93%E5%8D%8F%E4%BD%9C&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLlpJrmmbrog73kvZPljY_kvZwiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.G2EEL0qXI4q9nfmq3Hg1_BzURC5931H0fd7r9QwiENw&zhida_source=entity)（multi-agent cooperation）等途径，LLM Agent 有望突破传统语言模型能力界限，体现出更强的智能水平。在这之中，**调用外部工具** 解决问题成为 LLM Agent 必不可缺的一项技能，模型根据用户问题从工具列表中选择恰当的工具，同时生成工具调用参数，综合工具返回结果和上下文信息总结出答案。通过调用外部工具，LLM 能够获取到**实时、准确** 的知识，大大降低了生成中的幻觉（[hallucination](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=hallucination&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJoYWxsdWNpbmF0aW9uIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.ivziqGDvST6uqE7JWzSFeupkrQDZXYmvID5B4kvn58o&zhida_source=entity)）现象，使 LLM 的任务解决能力得到长足的提升。工具调用能力的获得离不开[模型微调](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E5%BE%AE%E8%B0%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmqKHlnovlvq7osIMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.cX_jTYRjkWFx4NGYSsZeSv6n-6y8ctoSLQbChWwiTuA&zhida_source=entity)，尽管使用 [ReAct 提示](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=ReAct+%E6%8F%90%E7%A4%BA&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJSZUFjdCDmj5DnpLoiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.dqSRBecJDG2CanJEj7PDnCEgcL0IY9lOnz3Yuir1kFI&zhida_source=entity)[[2]](https://zhuanlan.zhihu.com/p/678989191#ref_2)或其他预训练模型也能实现类似效果，但对于定制化或更加广泛的工具，对模型做进一步微调能有效地提升工具使用能力。本文将会带领大家使用 [LLaMA Factory](https://link.zhihu.com/?target=https%3A//github.com/hiyouga/LLaMA-Factory) 的 **Agent Tuning** 功能，使用单张 GPU 在 3 小时内训练出自己专属的 LLM Agent。\n## 训练框架\n之前文章[[3]](https://zhuanlan.zhihu.com/p/678989191#ref_3)已经讲到，**LLaMA Factory** 是一个涵盖预训练、指令微调到 [RLHF](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=RLHF&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJSTEhGIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.6yCyX4jucxgng4dq1Aoqy9WMlxV6iUz2XUu09v9w-3c&zhida_source=entity) 阶段的开源全栈大模型微调框架，具备**高效、易用、可扩展** 的优点，配备有零代码可视化的一站式网页微调界面 [LLaMA Board](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=LLaMA+Board&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJMTGFNQSBCb2FyZCIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.we3vjce8Ac5-4jpjvEl-yCNU7UpW-dDqISL3-J0Dbuk&zhida_source=entity)。经过半年多的升级迭代，LLaMA Board 网页微调界面在原先的基础上，丰富了多种新的功能，包括：\n  * 支持**约 120 种** 模型以及**约 50 种** 数据集，包括最新的 [DeepSeek MoE](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=DeepSeek+MoE&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJEZWVwU2VlayBNb0UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.kmUN0vBkjiHCqohNvfizsHDqTHYCmGQ5Q4z4V3fWtZs&zhida_source=entity) 混合专家模型\n  * 使用 [Flash Attention2](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Flash+Attention2&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJGbGFzaCBBdHRlbnRpb24yIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.o2U8KKv21_H6ekDPyKDzFz1hrYC4MGRTrTHZKYXiW7Y&zhida_source=entity) 和算子优化技术，实现**约 200% 的[LoRA](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=LoRA&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJMb1JBIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.ErghQ55qlMzDbbxfwNv6p-YVduQd9V_VMrOQrPCaFSg&zhida_source=entity) 训练速度**，大幅超越同类框架\n  * 集成魔搭社区（[ModelScope](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=ModelScope&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJNb2RlbFNjb3BlIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.LmavumA016SOFinj7Fr84A3120VPyFbcTx9ycCJWx1Y&zhida_source=entity)）下载渠道，国内用户可享受 **100%[带宽](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%B8%A6%E5%AE%BD&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLluKblrr0iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.uE80KqctxN8liOsRZeKnBTxp9LWvIr7ZxpJr9FErg50&zhida_source=entity)**的模型和数据下载\n  * 同时包含[预训练](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=3&q=%E9%A2%84%E8%AE%AD%E7%BB%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLpooTorq3nu4MiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MywiemRfdG9rZW4iOm51bGx9.0SzwJL45YkkEYXoCDolcn3ZF9D8SqyyxmJstWOZWsu8&zhida_source=entity)、[监督微调](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E7%9B%91%E7%9D%A3%E5%BE%AE%E8%B0%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLnm5HnnaPlvq7osIMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.avaWI-A9FyUnAotQdZ2VMuo5zfHgvknZRaLBfc0-X2o&zhida_source=entity)、RLHF、[DPO](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=DPO&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJEUE8iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.WXau28SgLV_YYr5ufiVPiUmgVjD_visguuADu1-Lj6Y&zhida_source=entity) 四种[训练方法](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E8%AE%AD%E7%BB%83%E6%96%B9%E6%B3%95&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLorq3nu4Pmlrnms5UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.BO2YWSSIEypYxNPN1XoAU7RDI7qM1T0m5PlsJwYceUw&zhida_source=entity)，支持 **0-1** 复现 [ChatGPT](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=ChatGPT&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJDaGF0R1BUIiwiemhpZGFfc291cmNlIjoiZW50aXR5IiwiY29udGVudF9pZCI6MjM5MDE2MzM1LCJjb250ZW50X3R5cGUiOiJBcnRpY2xlIiwibWF0Y2hfb3JkZXIiOjEsInpkX3Rva2VuIjpudWxsfQ.gFaSz9tBLbGfgQlZhrkPN39Q_ZtZh31ZgDAuhG1ZjsM&zhida_source=entity) 训练流程\n  * 丰富的中英文**参数提示** ，实时的**状态监控** 和简洁的模型**断点管理** ，支持网页重连和刷新\n\n\n读者可以在 [HuggingFace Spaces](https://link.zhihu.com/?target=https%3A//huggingface.co/spaces/hiyouga/LLaMA-Board) 或 [魔搭社区](https://link.zhihu.com/?target=https%3A//modelscope.cn/studios/hiyouga/LLaMA-Board) 预览 LLaMA Board 网页微调界面。\n## 模型与数据\n本次我们选用[零一万物](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E9%9B%B6%E4%B8%80%E4%B8%87%E7%89%A9&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLpm7bkuIDkuIfniakiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.OgdqsYdRVAOFA6FGXjYpF_ImihJ1wyryOtMVoE2SUXQ&zhida_source=entity)[[4]](https://zhuanlan.zhihu.com/p/678989191#ref_4)发布的 **[Yi-6B](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Yi-6B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJZaS02QiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.o_dYR_cFN48yxB_3qQK2jY3Bp23MpEzudqiV4R5ONeE&zhida_source=entity)** 开源双语基座模型，该模型于 2023 年 11 月发布，拥有约 60 亿参数，通过在 3T 多语言语料上的预训练，取得了同等规模下优异的中英文 Benchmark 效果，且允许免费商用。由于 Yi-6B 是一个预训练基座模型，并不具备对话能力，因此我们选用多个[开源数据集](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%BC%80%E6%BA%90%E6%95%B0%E6%8D%AE%E9%9B%86&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLlvIDmupDmlbDmja7pm4YiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.2te3R1g4gQJKC8v40OCsFYuctceS6I7PwsW_Rhgx788&zhida_source=entity)对模型做指令监督微调（SFT）。在这些数据集中最关键的是**工具调用数据集** ，该数据集包含约十万条由 Glaive AI[[5]](https://zhuanlan.zhihu.com/p/678989191#ref_5)生成的关于工具调用的对话样本，我们将数据集处理为**多角色的多轮对话样本** ，包含用户（human）、模型（gpt）、工具调用（function_call）和工具返回结果（observation）四种不同角色，同时还有一个工具列表（tools）字段，以 OpenAI 的格式[[6]](https://zhuanlan.zhihu.com/p/678989191#ref_6)定义了可选工具。下面是数据集中的一个样本示例：\n\n```\n{\n  \"conversations\": [\n    {\n      \"from\": \"human\",\n      \"value\": \"I saw a dress that I liked. It was originally priced at $200 but it's on sale for 20% off. Can you tell me how much it will cost after the discount?\"\n    },\n    {\n      \"from\": \"function_call\",\n      \"value\": \"{\\\"name\\\": \\\"calculate_discount\\\", \\\"arguments\\\": {\\\"original_price\\\": 200, \\\"discount_percentage\\\": 20}}\"\n    },\n    {\n      \"from\": \"observation\",\n      \"value\": \"{\\\"discounted_price\\\": 160}\"\n    },\n    {\n      \"from\": \"gpt\",\n      \"value\": \"The dress will cost you $160 after the 20% discount.\"\n    }\n  ],\n  \"tools\": \"[{\\\"name\\\": \\\"calculate_discount\\\", \\\"description\\\": \\\"Calculate the discounted price\\\", \\\"parameters\\\": {\\\"type\\\": \\\"object\\\", \\\"properties\\\": {\\\"original_price\\\": {\\\"type\\\": \\\"number\\\", \\\"description\\\": \\\"The original price of the item\\\"}, \\\"discount_percentage\\\": {\\\"type\\\": \\\"number\\\", \\\"description\\\": \\\"The percentage of discount\\\"}}, \\\"required\\\": [\\\"original_price\\\", \\\"discount_percentage\\\"]}}]\"\n}\n```\n\n如果读者想要加入自定义工具，只需要按照上述格式组织[数据集](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=8&q=%E6%95%B0%E6%8D%AE%E9%9B%86&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmlbDmja7pm4YiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6OCwiemRfdG9rZW4iOm51bGx9.k6lxwxKknykCWC7QJ16n3HhYMO2-00HzIHpqc1n-fsA&zhida_source=entity)即可。除此之外，我们也在本次训练中加入 Alpaca-GPT-4 数据集[[7]](https://zhuanlan.zhihu.com/p/678989191#ref_7)和 Open-Assistant 数据集[[8]](https://zhuanlan.zhihu.com/p/678989191#ref_8)以提升模型的通用对话能力。\n## 环境准备\n文章默认读者有至少不弱于 **RTX 3090 24GB** 的显卡和足够的系统内存，且安装了 CUDA 11.1-12.3 任一版本，关于 CUDA 环境的配置此处不予赘述。\n我们已经将所有的程序打包，您可以选择自己的 [Anaconda](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Anaconda&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJBbmFjb25kYSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.u0T_8C-AvCsS0aJ3nHQSK-BWmdfKCt9KbBwmpTW1oEQ&zhida_source=entity) 环境，运行以下命令安装 LLaMA Factory。\n\n```\npip install llmtuner==0.5.1\n```\n\n接着从 [GitHub](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=GitHub&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJHaXRIdWIiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.FEeGbASfYvYzymkCUMiHHCJ9CDUITxn17fMBEGt80CM&zhida_source=entity) 下载数据集文件，这里以 Linux [命令行](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%91%BD%E4%BB%A4%E8%A1%8C&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLlkb3ku6TooYwiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.uOlYsF4LHtVXfQT57pbjA2R-PfOAwKtsO3OI-r2EFro&zhida_source=entity)方法为示例，您也可以选择从 GitHub 网页下载，下载后切换到新的文件目录，运行 ls 命令应当显示**同一级目录中存在 data 文件夹** 。\n\n```\ngit clone[](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=clone&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJjbG9uZSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.Cld852rFNlvHrIdDmSdqUG7IQsqDwxV45aTLyV8O9JA&zhida_source=entity) https://github.com/hiyouga/LLaMA-Factory.git\ncd LLaMA-Factory\nls # data src tests ...\n```\n\n由于 LLaMA Board 网页微调界面仅支持单卡训练，需要设置[环境变量](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLnjq_looPlj5jph48iLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.G_2PPDOBmUABWEJFZNzvo_iswqr_ELPhHFJYz3TETZ4&zhida_source=entity)指定使用的显卡序号。此外可以选择模型下载源，这里推荐国内用户使用魔搭社区下载渠道。\n\n```\nexport CUDA_VISIBLE_DEVICES=0 # 使用第一块 GPU\nexport USE_MODELSCOPE_HUB=1 # 使用魔搭社区下载渠道\n```\n\n如果您使用的是 Windows 系统，同样需要配置相关环境变量。\n\n```\nset CUDA_VISIBLE_DEVICES=0\nset USE_MODELSCOPE_HUB=1\n```\n\n然后使用下述命令启动 LLaMA Board 网页微调界面。\n\n```\nunset http_proxy https_proxy all_proxy # 关闭代理\npython -m llmtuner.webui.interface\n```\n\n## 训练流程\n① 打开浏览器，在地址栏输入 **localhost:7860** 进入 LLaMA Board，可以看到以下界面，点击左上角的 **lang** 选项中将界面语言切换为中文。\n![](https://pic4.zhimg.com/v2-ff65249e405c1ef19c896615942f9e9d_1440w.jpg)\n② 点击**模型名称** ，选择 Yi-6B 模型，此时**[模型路径](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E8%B7%AF%E5%BE%84&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmqKHlnovot6_lvoQiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.jOMbsNTy6WqubDno7HSYjFOx2OifuNXFKiw6L5hczOo&zhida_source=entity)** 默认会显示[远程模型](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E8%BF%9C%E7%A8%8B%E6%A8%A1%E5%9E%8B&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLov5znqIvmqKHlnosiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.eda_AH1rixuY7VMzSooy46rkZTRpwzLeMAkPRjLUi0s&zhida_source=entity)地址，如果您已经将模型文件全部下载至本地，可以手动将其修改为本地文件夹路径。\n![](https://picx.zhimg.com/v2-3ca6113d632c85a35639415f16e91f7f_1440w.jpg)\n③ 如果您已经安装过 [Flash Attention-2](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Flash+Attention-2&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJGbGFzaCBBdHRlbnRpb24tMiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.8bjPDLaSYUHe4UkbOXC6jQXfCBCxFKz75oPx8mDdwfA&zhida_source=entity) 或 Unsloth，可以点击**高级设置-加速方式** 提升训练速度，其中 Flash Attention-2[[9]](https://zhuanlan.zhihu.com/p/678989191#ref_9)可提升至 120% 左右的速度，Unsloth[[10]](https://zhuanlan.zhihu.com/p/678989191#ref_10)可提升至 170% 左右的速度。此处我们略过安装过程，请各位读者自行查阅参考文献中的 GitHub 仓库安装，如果两者均未安装，请保持加速方式为 None。\n![](https://pic1.zhimg.com/v2-c3a8af293f4a238957daf8e7cc112f12_1440w.jpg)\n④ 点击**数据集** ，选择我们此次要使用的四个数据集 glaive_toolcall、[alpaca_gpt4_en](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=alpaca_gpt4_en&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJhbHBhY2FfZ3B0NF9lbiIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.G47SQROKhk8oUceklTXWLk_xJxVQ8SgDjXUmxvO79Lw&zhida_source=entity)、alpaca_gpt4_zh 和 oaast_sft_zh，如果数据集下拉框为空白，请检查**数据路径** 是否正确。选择后点击**预览数据集** 按钮可预览数据集。\n![](https://pic1.zhimg.com/v2-e7dfa9e14514286ce0ff68cc54ef70bc_1440w.jpg)\n![](https://pica.zhimg.com/v2-f797887361f10fee548f2664c29409ae_1440w.jpg)\n⑤ 训练参数中与[显存占用](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%98%BE%E5%AD%98%E5%8D%A0%E7%94%A8&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmmL7lrZjljaDnlKgiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.1rS24GwotPLprEhl4IsTgCbXKLPVwxtxHDB6_b3JHus&zhida_source=entity)有紧密关联的是**[截断长度](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%88%AA%E6%96%AD%E9%95%BF%E5%BA%A6&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmiKrmlq3plb_luqYiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.O3lI5pyxuRF9nRy_zJstFcE-NxQvkC2990rjx4cQCJQ&zhida_source=entity)** 和**批处理大小** 选项，我们暂时保持默认。这里仅将**训练轮数** 设置为 2.0，**最大样本数** 设置为 8000，**LoRA 参数设置-LoRA 作用模块** 设置为 all。\n![](https://pica.zhimg.com/v2-c8bb2b47b3670b6a9f609b7c8f04858c_1440w.jpg)\n⑥ 将页面翻到底部，将**输出目录** 设置为 yi-agent-6b，训练后的模型文件会保存在 saves/Yi-6B/lora/yi-agent-6b 中。点击**预览命令** 按钮可以看到当前配置对应的命令行脚本，如果您想使用[多卡训练](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E5%A4%9A%E5%8D%A1%E8%AE%AD%E7%BB%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLlpJrljaHorq3nu4MiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.oUm7FL5VEluXT664mNU-K_8Vtl73q_ILlDg4CA-Smpc&zhida_source=entity)，可以参考下述命令来编写多卡训练脚本。\n![](https://picx.zhimg.com/v2-db1966502e524a09a50a576d111475f7_1440w.jpg)\n⑦ 点击**开始** 按钮启动[模型训练](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E8%AE%AD%E7%BB%83&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmqKHlnovorq3nu4MiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.ddBF-x093ClPoTJqRPv7KhfAoqOrGNz5DvXR8hyKOdc&zhida_source=entity)，训练日志和损失变化图会实时展现在页面中，此时可以自由关闭或刷新网页，在本文的测试环境（A100 40GB * 1）下，约 3 小时即可完成模型训练。\n![](https://picx.zhimg.com/v2-fa39fe05f99635f0f74b8cdc816d642d_1440w.jpg)\n⑧ 训练结束后，我们切换到 **Chat** 栏，点击**刷新适配器** 按钮，将**适配器路径** 切换至 yi-agent-6b，点击**加载模型** 按钮载入刚刚训练好的模型。\n![](https://pic1.zhimg.com/v2-3f3bf5741d2b700981c248338a054b9a_1440w.jpg)\n如果模型可以正常加载，那么恭喜你！仅花费一部电影的时间，就成功训练出了自己专属的 LLM Agent。\n## 效果展示\n① 基本对话\n![](https://pic1.zhimg.com/v2-a59b252182080178f7de82ce63afd9f2_1440w.jpg)\n② 工具调用 - 查询天气\n  * Yi-Agent-6B（本文微调的模型）：正确理解工具返回结果并得出答案。\n\n\n![](https://pic3.zhimg.com/v2-20749a612a4723513da2ef5a7d87bdca_1440w.jpg)\n  * Yi-6B-Chat（零一万物发布的指令模型）：无法理解工具返回结果。\n\n\n![](https://pic3.zhimg.com/v2-03a4e410dbebb83f07f1f7c0ef4ef282_1440w.jpg)\n③ 工具调用 - 计算 GPA\n  * Yi-Agent 6B（本文微调的模型）：正确生成工具调用并得到答案。\n\n\n![](https://pic2.zhimg.com/v2-f6d83df3662ef1082d75d5cddabd07ef_1440w.jpg)\n  * Yi-6B-Chat（零一万物发布的指令模型）：无法生成工具调用。\n\n\n![](https://pic3.zhimg.com/v2-14696490155d5762f8ef2981e2d31b7a_1440w.jpg)\n从上述几个例子中可以看出，经过微调后的 Yi-6B 模型成功具备了**选择工具-调用工具-总结答案** 的出色能力，在 Agent 方面的性能显著超越原始 Yi-6B-Chat 模型。由于网页界面功能有限，我们这里手动输入了工具调用结果，在下面的章节，我们将会展示如何使用 LLaMA Factory 将 LLM Agent 部署到实际生产环境中。\n## [模型部署](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=%E6%A8%A1%E5%9E%8B%E9%83%A8%E7%BD%B2&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiLmqKHlnovpg6jnvbIiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.orhBuSMvnCI6kbQ7Ed5wO8rgSY8Ni7MdTFCfhp2RmF0&zhida_source=entity)\n① 切换到 **Export** 栏，选择**最大分块大小** 为 2GB，填写**导出目录** 为 models/yi-agent-6b，点击**开始导出** 按钮，将 LoRA 权重合并到模型中，同时保存完整模型文件，保存后的模型可以通过 [transformers](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=transformers&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJ0cmFuc2Zvcm1lcnMiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.PSUXAR20HHilXAao-W3kwn2fxUBbTQ0VG70QjD9TbJ0&zhida_source=entity) 等直接加载。\n![](https://picx.zhimg.com/v2-9b4cb419c72225b93184f44a6ee165c5_1440w.jpg)\n② 在终端输入以下命令启动 API 服务。\n\n```\npython -m llmtuner.api.app --model_name_or_path models/yi-agent-6b --template default\n```\n\n该命令会在本地启动一个和 OpenAI 格式相同的 [RESTFul API](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=RESTFul+API&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJSRVNURnVsIEFQSSIsInpoaWRhX3NvdXJjZSI6ImVudGl0eSIsImNvbnRlbnRfaWQiOjIzOTAxNjMzNSwiY29udGVudF90eXBlIjoiQXJ0aWNsZSIsIm1hdGNoX29yZGVyIjoxLCJ6ZF90b2tlbiI6bnVsbH0.6Z1-5RKHThbJ1StzmLAJgo3LYcXD03Jjl4c2vX2unqc&zhida_source=entity)，这时我们可以直接用**本地模型来替代 GPT-3.5 的函数调用功能** ！下面是一个使用 [openai-python](https://link.zhihu.com/?target=https%3A//github.com/openai/openai-python) 库来调用本地模型，实现 LLM Agent 功能的示例代码。\n\n```\nimport os\nimport json\nfrom openai import OpenAI\nfrom typing import Sequence\n\nos.environ[\"OPENAI_BASE_URL\"] = \"http://192.168.0.1:8000/v1\" # 替换为本地主机 IP\nos.environ[\"OPENAI_API_KEY\"] = \"0\"\n\ndef calculate_gpa(grades: Sequence[str], hours: Sequence[int]) -> float:\n    grade_to_score = {\"A\": 4, \"B\": 3, \"C\": 2}\n    total_score, total_hour = 0, 0\n    for grade, hour in zip(grades, hours):\n        total_score += grade_to_score[grade] * hour\n        total_hour += hour\n    return total_score / total_hour\n\ntool_map = {\n    \"calculate_gpa\": calculate_gpa\n}\n\nif __name__ == \"__main__\":\n    client = OpenAI()\n    tools = [\n        {\n            \"type\": \"function\",\n            \"function\": {\n                \"name\": \"calculate_gpa\",\n                \"description\": \"根据课程成绩和学时计算 GPA\",\n                \"parameters\": {\n                    \"type\": \"object\",\n                    \"properties\": {\n                        \"grades\": {\"type\": \"array\", \"items\": {\"type\": \"string\"}, \"description\": \"课程成绩\"},\n                        \"hours\": {\"type\": \"array\", \"items\": {\"type\": \"integer\"}, \"description\": \"课程学时\"},\n                    },\n                    \"required\": [\"grades\", \"hours\"],\n                },\n            },\n        }\n    ]\n    messages = []\n    messages.append({\"role\": \"user\", \"content\": \"我的成绩是 A, A, B, C，学时是 3, 4, 3, 2\"})\n    result = client.chat.completions.create(messages=messages, model=\"yi-agent-6b\", tools=tools)\n    tool_call = result.choices[0].message.tool_calls[0].function\n    name, arguments = tool_call.name, json.loads(tool_call.arguments)\n    messages.append({\"role\": \"function\", \"content\": json.dumps({\"name\": name, \"argument\": arguments}, ensure_ascii=False)})\n    tool_result = tool_map[name](**arguments)\n    messages.append({\"role\": \"tool\", \"content\": json.dumps({\"gpa\": tool_result}, ensure_ascii=False)})\n    result = client.chat.completions.create(messages=messages, model=\"yi-agent-6b\", tools=tools)\n    print(result.choices[0].message.content)\n    # 根据你的成绩和学时，你的平均绩点 (GPA) 为 3.4166666666666665。\n```\n\nLLaMA Factory 在今后还将不断升级，欢迎大家关注我们的 GitHub 项目：\n[](https://link.zhihu.com/?target=https%3A//github.com/hiyouga/LLaMA-Factory)\n同时，我们也将本文的模型上传到了 [Hugging Face](https://zhida.zhihu.com/search?content_id=239016335&content_type=Article&match_order=1&q=Hugging+Face&zd_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJ6aGlkYV9zZXJ2ZXIiLCJleHAiOjE3OTExMzkxNTUsInEiOiJIdWdnaW5nIEZhY2UiLCJ6aGlkYV9zb3VyY2UiOiJlbnRpdHkiLCJjb250ZW50X2lkIjoyMzkwMTYzMzUsImNvbnRlbnRfdHlwZSI6IkFydGljbGUiLCJtYXRjaF9vcmRlciI6MSwiemRfdG9rZW4iOm51bGx9.H5rdOLV5liRVg9_PpKkdNEsJXJCeBa1PP-A1HB9VL7I&zhida_source=entity)，如果您有资源，一定要亲自动手训练一个大模型 Agent！\n[](https://link.zhihu.com/?target=https%3A//huggingface.co/hiyouga/Yi-Agent-6B)\n## 参考\n  1. [^](https://zhuanlan.zhihu.com/p/678989191#ref_1_0)The Rise and Potential of Large Language Model Based Agents: A Survey <https://arxiv.org/pdf/2309.07864.pdf>\n  2. [^](https://zhuanlan.zhihu.com/p/678989191#ref_2_0)ReAct: Synergizing Reasoning and Acting in Language Models <https://arxiv.org/pdf/2210.03629.pdf>\n  3. [^](https://zhuanlan.zhihu.com/p/678989191#ref_3_0)打造 LLM 界的 Web UI：24GB 显卡训练百亿大模型 <https://zhuanlan.zhihu.com/p/645010851>\n  4. [^](https://zhuanlan.zhihu.com/p/678989191#ref_4_0)01-ai <https://01.ai/>\n  5. [^](https://zhuanlan.zhihu.com/p/678989191#ref_5_0)Glaive AI <https://glaive.ai/>\n  6. [^](https://zhuanlan.zhihu.com/p/678989191#ref_6_0)OpenAI Function Calling <https://openai.com/blog/function-calling-and-other-api-updates>\n  7. [^](https://zhuanlan.zhihu.com/p/678989191#ref_7_0)Alpaca-GPT-4 Data <https://github.com/Instruction-Tuning-with-GPT-4/GPT-4-LLM>\n  8. [^](https://zhuanlan.zhihu.com/p/678989191#ref_8_0)Open-Assistant <https://github.com/LAION-AI/Open-Assistant>\n  9. [^](https://zhuanlan.zhihu.com/p/678989191#ref_9_0)Flash Attention <https://github.com/Dao-AILab/flash-attention>\n  10. [^](https://zhuanlan.zhihu.com/p/678989191#ref_10_0)Unsloth <https://github.com/unslothai/unsloth>\n\n\n编辑于 2024-01-22 03:09・北京\n​赞同 452​​98 条评论​854 ​71 \n​分享\n​申请转载​\n​\n![](https://pic1.zhimg.com/v2-d41c2ceaed8f51999522f903672a521f_l.jpeg)\n未登录用户\n  \n\n98 条评论\n默认\n最新\n[![黯淡蓝点](https://pica.zhimg.com/v2-c77bf752f4b580b70324f55619e405c8_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/7a3e317f97fe7e4cdb0f2b174b4b0da1)\n[黯淡蓝点](https://www.zhihu.com/people/7a3e317f97fe7e4cdb0f2b174b4b0da1)\n活捉llama factory核心开发者一枚！![\\[调皮\\]](https://pic1.zhimg.com/v2-76c864a7fd5ddc110965657078812811.png)\n2024-01-22 · 广东\n​回复​7\n[![指点江山](https://picx.zhimg.com/v2-79e531977029e589cf2ea6680a42c867_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/e0c69eeb19aca855f50762d2805efe96)\n[指点江山](https://www.zhihu.com/people/e0c69eeb19aca855f50762d2805efe96)\n![](https://pic1.zhimg.com/v2-4812630bc27d642f7cafcd6cdeca3d7a.jpg?source=88ceefae)\n![\\[赞\\]](https://pic1.zhimg.com/v2-c71427010ca7866f9b08c37ec20672e0.png)![\\[赞\\]](https://pic1.zhimg.com/v2-c71427010ca7866f9b08c37ec20672e0.png)![\\[赞\\]](https://pic1.zhimg.com/v2-c71427010ca7866f9b08c37ec20672e0.png)及时雨，感谢Llama Factory天团![\\[赞同\\]](https://pic2.zhimg.com/v2-419a1a3ed02b7cfadc20af558aabc897.png)\n2024-01-22 · 北京\n​回复​1\n[![saga](https://picx.zhimg.com/v2-abed1a8c04700ba7d72b45195223e0ff_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/418e669c7bae11f8c5787e5577494226)\n[saga](https://www.zhihu.com/people/418e669c7bae11f8c5787e5577494226)\n数据集的格式为什么这么定义 有什么资料可以参考吗\n2024-03-29 · 中国香港\n​回复​2\n[![禾路](https://pic1.zhimg.com/v2-4876bd53a96f0841600736c662d60fc1_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/86d2f6b064d88728283e4a3701eff6e5)\n[禾路](https://www.zhihu.com/people/86d2f6b064d88728283e4a3701eff6e5)\n认知一个事物，往往需要尝试、反馈、修改，重复这个过程，建立自己的体系。  \n微调这项工作，因为消耗资源、时间比较长，导致反馈困难。所以对它的研究需要进行专门设计。\nLlama-factory在这个方面给我们做了很好的支持，感谢！\n2024-05-05 · 江苏\n​回复​2\n[![Fener](https://pica.zhimg.com/v2-217db4f2a749aa5f0a82c260f97739c2_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/6c7c6ac38b49dc9071c1f9222d2d9755)\n[Fener](https://www.zhihu.com/people/6c7c6ac38b49dc9071c1f9222d2d9755)\n你好，我下载了yi-agent-6b，使用openai的方式请求时，返回的tool_call是None，然后这个代码就报错NoneType（代码：tool_call = result.choices[0].message.tool_calls[0].function）,为啥我这请求不到哈，是用的你文章里的demo案例\n2024-02-01 · 河北\n​回复​2\n展开其他 2 条回复​\n[![飞舞的蛋蛋](https://picx.zhimg.com/v2-abed1a8c04700ba7d72b45195223e0ff_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/93e3e9bad36ecf147c0f7e9c67453b50)\n[飞舞的蛋蛋](https://www.zhihu.com/people/93e3e9bad36ecf147c0f7e9c67453b50)\n怎么用transformers加载训练好的模型\n2024-03-27 · 江西\n​回复​1\n[![LexOldDad](https://picx.zhimg.com/v2-f51ae42f717a469709968ab95a7dce88_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/930961ea9d61a547fe770f1cd7475a77)\n[LexOldDad](https://www.zhihu.com/people/930961ea9d61a547fe770f1cd7475a77)\n请问大佬，数据集能用中文的吗，每个function call一般得多少条训练数据集才合适\n2024-01-23 · 广东\n​回复​1\n展开其他 2 条回复​\n[![冰凌舞](https://picx.zhimg.com/5ca852005_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/304b3988c96837432e05f668964cfa12)\n[冰凌舞](https://www.zhihu.com/people/304b3988c96837432e05f668964cfa12)\n请问支持 qwen这样子微调tools能力吗？ \n2024-01-22 · 北京\n​回复​1\n[![hiyouga](https://pic1.zhimg.com/v2-7a21ac66182c1bde68867d22d53988d0_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/68ebf9365e2c5e930b79ffbbdab9e59b)\n[hiyouga](https://www.zhihu.com/people/68ebf9365e2c5e930b79ffbbdab9e59b)\n作者\n支持所有模型\n2024-01-22 · 北京\n​回复​1\n[![不语](https://pic1.zhimg.com/v2-b355fee0c10bdadff35a6afdd21933a6_l.jpg?source=06d4cd63)](https://www.zhihu.com/people/9d1f871ec9f407ff79c2bf280b3cb969)\n[不语](https://www.zhihu.com/people/9d1f871ec9f407ff79c2bf280b3cb969)\n佬 我想问问如果有system应该怎么办呢\n07-07 · 黑龙江\n​回复​喜欢\n点击查看全部评论\n![](https://pic1.zhimg.com/v2-d41c2ceaed8f51999522f903672a521f_l.jpeg)\n未登录用户\n  \n\n关于作者\n[![hiyouga](https://pic1.zhimg.com/v2-7a21ac66182c1bde68867d22d53988d0_l.jpg?source=32738c0c&needBackground=1)](https://www.zhihu.com/people/hiyouga)\n[hiyouga](https://www.zhihu.com/people/hiyouga)\nNLPer\n[ 回答 **3** ](https://www.zhihu.com/people/hiyouga/answers)[ 文章 **4** ](https://www.zhihu.com/people/hiyouga/posts)[ 关注者 **1,768** ](https://www.zhihu.com/people/hiyouga/followers)\n​关注他​发私信\n大家都在搜\n换一换\n[江歌妈妈发长文尘埃终将落定706 万](https://www.zhihu.com/search?q=%E6%B1%9F%E6%AD%8C%E5%A6%88%E5%A6%88%E5%8F%91%E9%95%BF%E6%96%87%E5%B0%98%E5%9F%83%E7%BB%88%E5%B0%86%E8%90%BD%E5%AE%9A&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[中国男足 0-5 巴勒斯坦564 万](https://www.zhihu.com/search?q=%E4%B8%AD%E5%9B%BD%E7%94%B7%E8%B6%B3+0-5+%E5%B7%B4%E5%8B%92%E6%96%AF%E5%9D%A6&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[原央视主持人阿丘回应被通报422 万](https://www.zhihu.com/search?q=%E5%8E%9F%E5%A4%AE%E8%A7%86%E4%B8%BB%E6%8C%81%E4%BA%BA%E9%98%BF%E4%B8%98%E5%9B%9E%E5%BA%94%E8%A2%AB%E9%80%9A%E6%8A%A5&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[华为与赛力斯达成新五年合作411 万](https://www.zhihu.com/search?q=%E5%8D%8E%E4%B8%BA%E4%B8%8E%E8%B5%9B%E5%8A%9B%E6%96%AF%E8%BE%BE%E6%88%90%E6%96%B0%E4%BA%94%E5%B9%B4%E5%90%88%E4%BD%9C&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[迪拜航空确认航班发生事故400 万](https://www.zhihu.com/search?q=%E8%BF%AA%E6%8B%9C%E8%88%AA%E7%A9%BA%E7%A1%AE%E8%AE%A4%E8%88%AA%E7%8F%AD%E5%8F%91%E7%94%9F%E4%BA%8B%E6%95%85&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[东航回应网传空姐跪地道歉327 万](https://www.zhihu.com/search?q=%E4%B8%9C%E8%88%AA%E5%9B%9E%E5%BA%94%E7%BD%91%E4%BC%A0%E7%A9%BA%E5%A7%90%E8%B7%AA%E5%9C%B0%E9%81%93%E6%AD%89&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)\n[王楚钦：不知道为什么就是感觉累320 万](https://www.zhihu.com/search?q=%E7%8E%8B%E6%A5%9A%E9%92%A6%EF%BC%9A%E4%B8%8D%E7%9F%A5%E9%81%93%E4%B8%BA%E4%BB%80%E4%B9%88%E5%B0%B1%E6%98%AF%E6%84%9F%E8%A7%89%E7%B4%AF&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)热\n[江苏高考作文《衬衫的价格为 9 磅 15 便士》爆火268 万](https://www.zhihu.com/search?q=%E6%B1%9F%E8%8B%8F%E9%AB%98%E8%80%83%E4%BD%9C%E6%96%87%E3%80%8A%E8%A1%AC%E8%A1%AB%E7%9A%84%E4%BB%B7%E6%A0%BC%E4%B8%BA+9+%E7%A3%85+15+%E4%BE%BF%E5%A3%AB%E3%80%8B%E7%88%86%E7%81%AB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)\n[女装网店开始用防拆带了265 万](https://www.zhihu.com/search?q=%E5%A5%B3%E8%A3%85%E7%BD%91%E5%BA%97%E5%BC%80%E5%A7%8B%E7%94%A8%E9%98%B2%E6%8B%86%E5%B8%A6%E4%BA%86&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)\n[孕妇骑车别车被司机踹翻258 万](https://www.zhihu.com/search?q=%E5%AD%95%E5%A6%87%E9%AA%91%E8%BD%A6%E5%88%AB%E8%BD%A6%E8%A2%AB%E5%8F%B8%E6%9C%BA%E8%B8%B9%E7%BF%BB&search_source=Trending&utm_content=search_hot&utm_medium=organic&utm_source=zhihu&type=content&request_click_id=4d8f1ab5-3344-46da-8a17-89e32e6f9293)\n### 推荐阅读\n[ ![0.5B以小搏大拿下端侧模型新SOTA：4090可跑，长文本处理5倍常规加速丨清华&面壁开源](https://picx.zhimg.com/v2-786a655b2660e6d5711f9b8098fc4341_250x0.jpg?source=172ae18b)0.5B以小搏大拿下端侧模型新SOTA：4090可跑，长文本处理5倍常规加速丨清华&面壁开源 量子位 ](https://zhuanlan.zhihu.com/p/1915794711731503711)# [o1正式版还没上线，但是多模态o1模型LLaVA-o1已经来了 刚刚，清华等国内研究机构推出了 多模态模型LLaVA-o1[1]，LLaVA-o1是一个新颖的视觉-语言模型（VLM），旨在进行自主的多阶段推理，类似OpenAI的o1。与链式思维提示（CoT）不同，LLaVA-o1可… 小小将 ](https://zhuanlan.zhihu.com/p/7628772101)[ ![十大战略工具（4）—— SCQA架构](https://pic1.zhimg.com/v2-0c5c6203654d93b8ac33f5323393cd9b_250x0.jpg?source=172ae18b)十大战略工具（4）—— SCQA架构 Super...发表于2021生... ](https://zhuanlan.zhihu.com/p/159053940)# [开源大模型Llama 3王者归来！最大底牌4000亿参数，性能直逼GPT-4 机器之心报道。 ChatGPT 拉开了大模型竞赛的序幕，Meta 似乎要后来居上了。 本周四，AI 领域迎来重大消息，Meta 正式发布了人们等待已久的开源大模型 Llama 3。 扎克伯格在 Facebook 上发帖… 机器之心发表于机器之心 ](https://zhuanlan.zhihu.com/p/693298827) \n\n_想来知乎工作？请发送邮件到 jobs@zhihu.com_\n打开知乎App\n在「我的页」右上角打开扫一扫\n![](https://picx.zhimg.com/v2-9e41ea16bdfbe9cf4896617ecad5b4ca.png)\n其他扫码方式：微信\n下载知乎App\n无障碍模式\n验证码登录\n密码登录\n[开通机构号](https://zhuanlan.zhihu.com/org/signup)\n中国 +86\n获取短信验证码\n忘记密码\n登录/注册\n其他方式登录\n未注册手机验证后自动登录，注册即代表同意[《知乎协议》](https://www.zhihu.com/term/zhihu-terms)[《隐私保护指引》](https://www.zhihu.com/term/privacy)\n扫码下载知乎 App\n关闭二维码\n",
  "body_base_path": "attachments/91dd14a79c4b/pages/",
  "body_markdown_path": "attachments/91dd14a79c4b/pages/archived-body.md",
  "local_html": "attachments/91dd14a79c4b/pages/archived-body.html",
  "body_source": "prior_capture"
}