十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

智能体工具速通:3个零件、2个框架,十分钟跑通第一次调用

智能体工具速通:3个零件、2个框架,十分钟跑通第一次调用 智能体工具速通3个零件、2个框架十分钟跑通第一次调用【免费下载链接】agents-courseThis repository contains the Hugging Face Agents Course.项目地址: https://gitcode.com/GitHub_Trending/ag/agents-courseAlfred在韦恩庄园值班韦恩先生留下一张训练计划照片只问一个问题菜单上的食材该买哪些。模型能看懂图片却动不了手。你得给它一套智能体工具让它真正打开图片、读出文字。Hugging Face 的开源课程 Agents-Course 恰好把给模型装手这件事做成了可动手的教程。项目速览Agents-Course 是 Hugging Face 的官方开源课程4 个主单元加 3 个加餐单元从智能体是什么讲到框架实战最后用基准测试收尾。前置要求只有 Python 基础和一点 LLM 常识仓库里带完整中文版 units/zh-CN/。碎片化自学有个隐形成本博客东一篇西一篇框架版本对不上去年的代码拿到今天的 smolagents 里跑不通。跟这门课走例子是一条线的ReAct 循环、工具定义、图构建代码逐行给每节配能在 Colab 里跑的 notebook。学完你能做三件事定义并注册工具、用两套框架搭出会调工具的智能体、把它们用到文档分析和 RAG 场景里。工具的三个零件拆开框架的魔法一个工具只有三个零件。可以把它想象成组装一把小工具标签这工具干什么。一句话讲清胜过一串形容词。插口要喂什么才能跑。每个参数都有名字、类型和用途说明。结果窗吐出来的是什么。字符串、数字还是一组列表。为什么只要这三个因为 LLM 本身不会调函数。它只会根据标签、插口和结果窗输出一段调用文本底下的框架负责解析并执行。零件写得清楚模型选得准写得含糊它就开始乱调。十分钟上手跑通第一个工具最快的路是 SmolAgents 的tool装饰器写个普通函数加个装饰器它就是工具。from smolagents import CodeAgent, InferenceClientModel, tool tool def load_note(path: str) - str: 加载本地文档返回其中文本内容。 Args: path: 文档的本地路径。 with open(path, encodingutf-8) as f: return f.read() agent CodeAgent(tools[load_note], modelInferenceClientModel()) print(agent.run(读取 units/zh-CN/unit1/introduction.mdx 并告诉我重点))为什么这么写装饰器会自动从函数名、docstring 和类型标注里解析出三个零件这正是模型判断用不用它、参数怎么填的全部依据。类型标注还能让框架在真正执行前先校验参数。InferenceClientModel默认走官方推理服务不需要本地显卡整段代码就是定义、注册、调用的最短路径。把工具装进智能体两种框架课程讲了三个框架装工具最常用的两个是 SmolAgents 和 LangGraph思路差得很远。SmolAgentsLangGraph注册方式函数上加tool塞进tools列表函数列表用bind_tools绑到模型图里挂ToolNode节点调用风格智能体走 ReAct 循环模型自己决定何时调你画节点和边靠条件边判断最新一条消息有没有工具调用适合场景单个智能体快速起步多步骤流程、分支、状态需要显式控制一句话总结SmolAgents 是扔进工具就跑LangGraph 是你来画流程图。任务是一条直线用前者流程里有分支和回退用后者。一个能落地的例子拿课程里的文档分析场景一张训练计划照片提取文字产出采购清单。在 LangGraph 里整个流程就是两个节点加一条条件边。核心代码就这几行from langgraph.prebuilt import ToolNode, tools_condition builder.add_node(assistant, assistant) # 模型决定要不要调工具 builder.add_node(tools, ToolNode([extract_text, divide])) builder.add_conditional_edges(assistant, tools_condition) builder.add_edge(tools, assistant) graph builder.compile() result graph.invoke({messages: msgs, input_file: note.png})assistant 节点让模型表态它决定调工具条件边就把消息送进 tools 节点执行结果再送回模型。它觉得够了条件边指向答复节点循环收尾。踩坑速查工具集成翻车的原因高度集中这三个占了一大半而且都出在零件上。症状原因解法让它抽文字它去调了计算器工具描述太像模型分不出边界描述改写成何时使用把参数差异写明对话中途跑飞或被截断单次返回整个文件太长撑爆上下文限制返回长度只回摘要加关键段落换上新工具后老调用随机失灵两个工具同名互相覆盖注册名字起得唯一批量导入前先按名字查重去哪看源码拿到整个课程只需一条命令git clone https://gitcode.com/GitHub_Trending/ag/agents-courseunits/zh-CN/unit1/tools.mdx工具是什么、三个零件怎么向模型交代units/zh-CN/unit2/smolagents/tools.mdxSmolAgents 两种工具写法含完整跑通示例units/zh-CN/unit2/langgraph/document_analysis_agent.mdx上一节文档分析智能体的完整源码units/zh-CN/unit1/agent-steps-and-structure.mdx工具调用在智能体循环里一步步怎么展开工具是智能体的手。模型再聪明没有一双手也落不了地。三个零件写清楚框架选一个路就通了。动手建议把上文的load_note拷走换成你自己的一份文档跑一次agent.run看看它读回什么再只改描述、不改代码感受一下模型选择的变化。【免费下载链接】agents-courseThis repository contains the Hugging Face Agents Course.项目地址: https://gitcode.com/GitHub_Trending/ag/agents-course创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表