让 AI 自动调用工具:LFM2.5-1.2B-Instruct-4bit 的 Function Calling 完整教程
让 AI 自动调用工具LFM2.5-1.2B-Instruct-4bit 的 Function Calling 完整教程【免费下载链接】LFM2.5-1.2B-Instruct-4bit项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-1.2B-Instruct-4bit如果你想让小模型也能像 ChatGPT 一样自动调用工具Function Calling / Tool Calling又不想依赖昂贵的大模型 API那么LFM2.5-1.2B-Instruct-4bit绝对值得一试。这是一款由 Liquid AI 的 LFM2.5 模型转换而来的MLX 4bit 量化版本参数量仅 11.7 亿模型文件约 658MB却原生支持函数调用、128K 超长上下文非常适合在 Mac、边缘设备上本地部署。本文将从零开始带你完成环境搭建、模型加载、Function Calling 实战的全过程即使你是新手也能快速上手。为什么选择 LFM2.5-1.2B-Instruct-4bit在介绍具体操作前先花 1 分钟了解这个模型的核心优势这决定了它是否适合你的场景轻量高效约 11.7 亿参数4bit 量化后仅 658MB普通电脑即可流畅推理原生工具调用分词器内置tool_list、tool_call、tool_response等专用标记开箱即用128K 超长上下文config.json中max_position_embeddings为 128000可处理超长对话与文档混合架构采用 Liquid AI 的 LFM2 架构卷积层 注意力层混合在推理效率和效果之间取得平衡MLX 生态基于 Apple MLX 框架转换配合mlx-lm库使用非常简单。第一步安装 mlx-lm 运行环境LFM2.5-1.2B-Instruct-4bit 是通过mlx-lm0.30.2 版本转换的因此推荐使用该库加载。打开终端执行一行命令即可pip install mlx-lm 提示如果你使用 macOSApple SiliconMLX 会调用 GPU 加速在 Linux 上也可以正常以 CPU 模式运行。第二步下载模型与快速生成体验模型可以直接从仓库拉取也可以本地克隆git clone https://gitcode.com/hf_mirrors/mlx-community/LFM2.5-1.2B-Instruct-4bit接着用 Python 完成一次最简单的对话生成from mlx_lm import load, generate model, tokenizer load(mlx-community/LFM2.5-1.2B-Instruct-4bit) messages [{role: user, content: 用一句话介绍 MLX 框架}] prompt tokenizer.apply_chat_template( messages, add_generation_promptTrue, return_dictFalse, ) response generate(model, tokenizer, promptprompt, verboseTrue) print(response)代码里用到了apply_chat_template它会读取仓库自带的 chat_template.jinja自动套用模型的对话格式|im_start|、|im_end|等完全不需要你手动拼 prompt。第三步Function Calling 实战——让模型帮你查天气接下来是本文的重头戏让 AI 自动调用工具。mlx-lm提供了对 tools 的原生支持当你在调用时传入tools参数chat_template.jinja 会自动将工具列表以 JSON 形式注入系统提示词。下面以查天气为例定义两个工具函数from mlx_lm import load, generate model, tokenizer load(mlx-community/LFM2.5-1.2B-Instruct-4bit) # 1. 定义工具JSON Schema 格式 tools [ { type: function, function: { name: get_weather, description: 查询指定城市的天气, parameters: { type: object, properties: { city: {type: string, description: 城市名称} }, required: [city], }, }, } ] # 2. 构造对话 messages [ {role: user, content: 北京今天适合出门吗帮我查一下天气}, ] # 3. 传入 tools让模型决定是否调用 prompt tokenizer.apply_chat_template( messages, toolstools, add_generation_promptTrue, return_dictFalse, ) response generate(model, tokenizer, promptprompt, verboseTrue) print(response)运行后模型不会直接回答天气而是输出类似这样的工具调用请求|tool_call_start|{name: get_weather, arguments: {city: 北京}}|tool_call_end|你只需在代码中解析这段输出执行真实的天气 API再把结果以tool_response的形式回传给模型模型就能基于真实数据给出最终答复。整个思考—调用—反馈的闭环就完成了。工具调用流程示意图用户提问 → 模型生成工具调用请求 → 你的代码解析并执行真实函数 → 结果回传给模型tool_response → 模型生成最终回答第四步多工具场景与注意事项实际项目中通常有多个工具查天气、查日历、算数学……只需在tools列表中追加即可模型会根据意图自动选择合适的工具。几个实用建议清晰描述工具description写清楚工具用途模型才能准确匹配参数格式规范使用标准 JSON Schema字段越明确调用越准确注意特殊标记模型的 tokenizer_config.json 中定义了tool_list_start、tool_call_start、tool_response_start等专用 token解析输出时注意识别4bit 量化权衡4bit 量化config.json 中quantization为 4bit、group_size 64大幅降低内存占用换取稍许精度损失日常工具调用场景完全够用。常见问题排查Q1加载模型提示找不到文件确保使用正确的模型标识或检查本地路径是否包含model.safetensors、tokenizer.json等完整文件。Q2模型没有输出工具调用尝试把工具描述写得更具体或者明确要求请使用工具查询。部分 1B 级模型需要清晰指令才能稳定触发工具调用。Q3运行时内存不足4bit 量化模型内存占用已很低约 700MB 左右若仍不足可关闭其他程序或限制生成长度。总结LFM2.5-1.2B-Instruct-4bit 用不到 700MB 的体积把Function Calling带到了普通电脑上无需 GPU 集群、无需付费 API即可搭建一个能自主调用工具的本地 AI Agent。配合mlx-lm的tools参数和现成的 chat template从安装到跑通第一个工具调用全程只需几分钟。如果你想进一步定制比如接入更多工具、优化调用稳定度直接修改tools定义并观察generate的输出即可。现在就动手试试吧让这台小模型替你完成更多自动化任务【免费下载链接】LFM2.5-1.2B-Instruct-4bit项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-1.2B-Instruct-4bit创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考