Agent的工具封装和调用
Created|Updated|AgentAgent的工具封装和调用
|Post Views:
Agent的工具封装和调用
FunctionCall
server端,封装tool工具
client端,调用工具
工具的三种定义方式:
1、定义 JSON 格式的工具 schema
2、@tool装饰器定义
3、定义工具类
调用工具的两种方式:
1、把工具绑到大模型上
2、把工具和大模型以及提示词一起绑到智能体上
pydantic工具定义(把工具绑到大模型上,让大模型自动推理应该用哪一个工具,并设计逻辑返回,工具处理好的,放到json中对应的答案字段)
1 | # todo: 第一步: 定义工具类: |
3、智能体调用工具:(使用langchain里面的tool工具作为注解,agent方法,初始化和调用智能体)
1 | from langchain_core.tools import tool |
MCP
MCP工具的使用:
1、定义服务端封装工具逻辑
2、定义客户端调用逻辑
三种不同传输方式:
1、stdio(标准输入输出,把服务器端当做客户端的子进程,在客户端一起吊起,在本地调试时用)
2、sse(基于http协议,server-sent-event,服务器端向客户端发送信息)
3、streamable http(流失输出,客户端和服务端双向发送信息)
客户端的两种不同调用方式
1、直接调用
2、agent调用
Python A2A
python a2a支持mcp和A2A协议
sse、streamable、stdio三种服务器中使用的三方包都是:from mcp.server.fastmcp import FastMCP。但是也可以用
1 | from python_a2a.mcp import FastMCP |
区别:
1、多了create_fastapi_app,需要创建mcp实例
2、MCP的服务端和客户端的实例化,都不需要写url和地址了,默认就有
原理:A2A client –> A2A server –> MCP client –> MCP server –> MCP 函数 –> 最后返回执行结果。
Author: 甘虎文
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles
2025-10-14
Agent_Principle
Agent的概念概念:在AI领域,AI是一种能够感知环境(通过传感器接受用户的文本、语音、文件等信息和问题)进行自主理解,进行决策和执行动作的智能实体。 原理Agent = 大脑(LLM)+记忆(memory)+任务规划(planner)+工具使用(MCP)+行动(Action) Agent本质上翻译过来是代理的意思,所以它能代表你处理任务,所以它要有人的记忆和大脑,有规划能力和处理的工具和实际行动。 AI agent工作流程prompt提示词提示词是Agent接受到的初始输入,描述了Agent需要完成的任务或解决的问题 LLM大模型大模型是agent进行任务规划和知识推理的重要工具,利用LLM大模型对提示词进行深入分析,生成可能的解决方案。 Memory记忆可以保留当前用户输入内容,上下文内容,外部向量存储的知识库,网页信息等。 planning规划定义:任务规划是agent根据提示词、大模型以及知识库进行决策和规划的过程。它涉及对任务的分解、目标的设定、路径的规划等 实现方式:图中“规划”这一步,在目前绝大多数基于大模型的Agent系统中,正是通过精心设计的提示...
2025-10-14
Agent的ReAct框架原理
Agent的ReAct框架原理 Paper https://arxiv.org/pdf/2210.03629.pdf Code https://github.com/ysymyth/ReAct https://react-lm.github.io/ 注解CoT & ToT1234567CoT = Chain of Thought 思维链、推理链 指让大模型逐步展示中间推理过程,通过“分步骤思考”来提高复杂推理任务的正确率。特点:单链。线性推理、依赖“逐步思考”ToT = Tree of Thoughts 思维树(树状思维)它是对 CoT 的扩展,把推理过程从单一链路升级为树状结构探索,可以同时评估多个思路分支,选择最优路径,适合更复杂、可回溯的推理任务。特点:树状。多分支探索、评估多种可能路径,适合复杂规划 正文一、答题思路 核心要点拆解: ReAct框架的定义与核心机制◦ 分层解析ReAct的“思考-行动-观察”循环逻辑◦ 对比传统Agent框架(如CoT、ToT)的差异性 真实项目案例选取◦ 选取文档中第6章《Agent3:推理与...
2026-02-14
PPT生成助手Agent项目的理解
PPT生成助手Agent项目的理解第一版想法:(单Agent方案):用户输入 → 大模型 → 生成PPT → 输出 Config 配置大模型api key等信息+ Prompt提示词 + Tool封装工具调用 → 生成PPT 这种方案并不完善,只适合快速原型或者个人工具: 1个agent+1个prompt+1个工具函数+同步执行+无状态+无监控+无容错 真实的项目是:企业级AI应用的标准架构: 多Agent协作 + 工作流引擎 + 状态管理 + 监控追踪 + 错误处理 + 基础设施 = 生产级AI系统 5个专业agent(core-agents)content_planning_agent.py“”” 内容规划Agent模块 负责将解析后的结构化内容与PPT模板进行最佳匹配,规划每个章节应使用的幻灯片布局。 “”” markdown_agent.py“”” Markdown解析Agent模块 负责解析Markdown文本,提取标题、段落、列表等结构化内容,并使用大模型对内容进行理解和分析。 “”” ppt_analysis_agent.py“”” PPT模板分析Ag...
2025-10-14
ReAct论文
ReAct论文REACT: SYNERGIZING REASONING AND ACTING IN LANGUAGE MODELS ReAct:实现语言模型中推理与行动协同的框架 ABSTRACT While large language models (LLMs) have demonstrated impressive performance across tasks in language understanding and interactive decision making, their abilities for reasoning (e.g. chain-of-thought prompting) and acting (e.g. action plan generation) have primarily been studied as separate topics. In this paper, we explore the use of LLMs to generate both reasoning traces and task-specific acti...
2025-07-18
SmartTravel多智能体项目复习
011、什么是Function Call?概念:大模型基于具体任务,智能决策何时需要调用某个函数,同时返回符合函数参数的 JSON对象。 能力获得的方式:基于训练来得到的,所以并不是所有大模型都具有Function Call能力。 优势:信息实时性、数据局限性、功能扩展性。 2、Function Call 工作原理是什么?主要步骤: 用户(客户端)发送请求和提示词,聊天服务器(Chat Server)将该提示词以及当前可调用的函数列表一并发送给大模型。 大模型根据提示词的内容和上下文,判断应生成普通文本回复,还是以函数调用的格式进行响应。 如果模型决定调用函数,它会返回一个包含函数名称和参数的结构化调用指令;聊天服务器接收到该指令后,执行对应的函数,并将函数的实际执行结果返回给大模型。 模型再根据函数返回的数据,将其整合并生成一段自然、连贯的文本作为最终回复,返回给用户。 3、Function Call的使用方式123456789101112131415161718192021222324252627282930313233343536373839404142434445...
2025-02-13
dify_tutorial
Dify介绍定义:Dify 是一款开源的大语言模型(LLM) 应用开发平台。它融合了后端即服务(Backend as Service) 的理念,使开发者可以快速搭建生产级的生成式 AI 应用。 安装Dify安装Dify所在的机器的最低配置:CPU核数 >= 2 Core RAM运行内存 >= 4GB 先安装WSL(Windows Subsystem for Linux),根据系统,可选执行原因:dify依赖linux系统,如果是在linux系统上部署,比如Ubuntu,就不需要安装WSL 定义:WSL 本质上是 Windows 的一个功能组件/子系统,它让 Windows 具备了原生运行 Linux 程序的能力,同时提供了管理这个环境的工具集。 参考操作文档:https://learn.microsoft.com/zh-cn/windows/wsl/install 以管理员权限打开PowerShell,运行以下命令去安装WSL:1wsl --install 安装完成后,重启电脑 已完成配置安装linux发行版ubuntu1wsl.exe...