
Function Calling 实战用 LFM2.5-1.2B-Instruct-bf16 构建你的第一个 AI Agent【免费下载链接】LFM2.5-1.2B-Instruct-bf16项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-1.2B-Instruct-bf16想让 AI 真正干活而不只是聊天**Function Calling函数调用**正是让大模型调用外部工具、查询数据、执行操作的关键能力。本文带你用LFM2.5-1.2B-Instruct-bf16Liquid AI 的 LFM2.5 系列 MLX 格式模型在本地构建第一个AI Agent无需昂贵 GPUMac 的 Apple Silicon 芯片即可流畅运行还支持 128K 超长上下文与中文对话堪称 Function Calling 入门首选。什么是 Function CallingAI Agent 的核心能力 普通聊天模型只会说而支持 Function Calling 的模型还能做能力普通对话Function Calling回答常识问题✅✅查询实时天气❌ 编造数据✅ 调用天气 API操作数据库/文件❌✅多步任务执行❌✅Agent 循环一句话理解Function Calling 给大模型装上了手。模型先输出我想调用哪个工具、参数是什么你的程序负责真正执行工具再把结果回传给模型由模型给出最终答案。这个模型决策 → 执行工具 → 回填结果 → 再决策的循环就是 AI Agent 的基本形态。LFM2.5-1.2B-Instruct-bf16轻量级 Function Calling 模型速览 ⚡这个模型来自 Liquid AI 的 LFM2.5 系列仓库里是一套完整的 MLX 格式文件README.md模型说明与官方使用示例config.json架构配置包含混合层结构与上下文长度chat_template.jinja聊天模板内置了 tools工具处理逻辑tokenizer.json/tokenizer_config.json分词器与特殊 token 定义model.safetensors/model.safetensors.index.jsonbf16 权重文件它的核心亮点️仅 12 亿参数约 1.17B本地跑得飞快适合边缘部署128K 超长上下文见 config.json 中的max_position_embeddings: 128000️ 支持中文、英文、日文、韩文等8 种语言 混合架构layer_types交替使用卷积层与全注意力层兼顾速度与效果️ 聊天模板原生支持tools参数开箱即可做 Function Calling环境准备mlx-lm 快速安装与验证 由于是 MLX 格式只需要一个库就能跑起来pip install mlx-lm安装完成后用一行命令验证环境是否正常会自动下载模型python -c from mlx_lm import load; load(mlx-community/LFM2.5-1.2B-Instruct-bf16); print(OK) 如果你在非 Mac 环境或想加速加载也可以先克隆仓库到本地再加载git clone https://gitcode.com/hf_mirrors/mlx-community/LFM2.5-1.2B-Instruct-bf16加载时把模型名换成本地目录路径即可。加载模型三步完成第一次本地对话 from mlx_lm import load, generate model, tokenizer load(mlx-community/LFM2.5-1.2B-Instruct-bf16) messages [{role: user, content: 用一句话介绍你自己}] prompt tokenizer.apply_chat_template(messages, add_generation_promptTrue) response generate(model, tokenizer, promptprompt, max_tokens512) print(response)运行后模型会基于聊天模板chat_template.jinja生成符合格式的回复。到这里一个能聊天的本地大模型就跑起来了实战用 Function Calling 构建你的第一个 AI Agent ️下面我们做一个最经典的场景让 Agent 查询天气。天气数据来自外部工具模型本身并不知道正好展示 Function Calling 的价值。第一步定义工具并告诉模型用标准的 JSON Schema 描述一个get_weather工具tools [{ type: function, function: { name: get_weather, description: 查询指定城市的天气情况, parameters: { type: object, properties: { city: {type: string, description: 城市名称如北京} }, required: [city] } } }]关键点description 写得越清楚模型越容易正确调用。这是新手最容易忽略的优化细节。第二步让模型决定调用哪个工具把tools传给聊天模板模型就会知道我可以用工具prompt tokenizer.apply_chat_template( messages, toolstools, add_generation_promptTrue ) output generate(model, tokenizer, promptprompt, max_tokens256) print(output) # 模型会输出类似调用 get_weather(city北京)的内容 小知识在chat_template.jinja中tools参数会被自动拼装成List of tools: [...]注入系统提示词这就是模型知道有工具可用的秘密。第三步执行工具并回填结果Agent 循环这是 Agent 的灵魂——把模型输出与真实执行串起来import json from mlx_lm import load, generate model, tokenizer load(mlx-community/LFM2.5-1.2B-Instruct-bf16) def execute_tool(name, args): 模拟真实的工具执行实际可换成天气 API if name get_weather: return {city: args[city], weather: 晴, temperature: 26} return {} def parse_tool_call(text): 简单解析模型输出中的工具名与参数 if get_weather not in text: return None return {name: get_weather, arguments: {city: 北京}} def run_agent(user_input): messages [{role: user, content: user_input}] for _ in range(3): # 最多循环 3 轮防止死循环 prompt tokenizer.apply_chat_template( messages, toolstools, add_generation_promptTrue ) output generate(model, tokenizer, promptprompt, max_tokens256) tool_call parse_tool_call(output) if tool_call: # 模型要求调用工具 messages.append({role: assistant, content: output}) result execute_tool(tool_call[name], tool_call[arguments]) messages.append({role: tool, content: json.dumps(result, ensure_asciiFalse)}) else: # 模型给出最终回答 return output return 已达到最大循环轮次 print(run_agent(北京今天天气怎么样))流程梳理✅ 用户提问 → 模型判断需要天气数据✅ 模型发起get_weather调用 → 程序执行工具获取结果✅ 结果回填给模型 → 模型组织语言输出最终答案恭喜你已经完成了第一个支持 Function Calling 的 AI Agent 常见问题与调优技巧 Q1模型不输出工具调用怎么办检查工具描述是否清晰、问题是否与工具相关或适当调低temperature如 0.3让模型输出更稳定。Q2解析工具输出总是失败不同版本模型的输出格式略有差异建议打印原始输出观察格式再用正则灵活匹配。Q3推理速度慢怎么办12 亿参数模型在 Apple Silicon 上已很快如需更快可用mlx_lm.convert转成 4-bit 量化版本速度翻倍、显存减半。Q4上下文太长会不会出错该模型支持 128K 上下文但 Agent 循环中每轮都会累积历史消息建议定期裁剪早期对话保持高效。小结下一步你可以做什么 ✨从会聊天到会做事你只差一个 Function Calling。用本文的实战代码你可以继续扩展 接入日历 API做一个会议助手 Agent️ 连接数据库做一个数据分析 Agent 调用搜索接口做一个实时信息 Agent 组合多个工具做一个全能个人助理LFM2.5-1.2B-Instruct-bf16 体积小、速度快、中文友好、还自带工具调用支持是本地 AI Agent 开发的绝佳起点。赶紧动手让 AI 真正帮你干活吧【免费下载链接】LFM2.5-1.2B-Instruct-bf16项目地址: https://ai.gitcode.com/hf_mirrors/mlx-community/LFM2.5-1.2B-Instruct-bf16创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考