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和地址了,默认就有
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:推理与...
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-07-16
SmartTravel项目实现
P02-项目实现一、项目架构与代码架构图【掌握】1 项目架构图SmartVoyage 是基于A2A与MCP协议实现是一个多agent系统。系统包括 LLM 路由服务器(意图识别)、天气代理服务器(查询天气数据库)、票务代理服务器(查询票务数据库)、票务预定服务器(API接口)、MCP 工具服务器(数据库接口)、数据采集脚本和 Streamlit 前端客户端。 2 代码架构图以下是代码层面的架构图。 代码结构如下: 二、项目实现1 整体流程【熟悉】 配置基础环境(config.py 和 create_logger.py) 初始化数据库(SQL 脚本) 采集数据(spider_weather.py) 完成 MCP 服务器(mcp_weather_server.py 、mcp_ticket_server.py 和 mcp_order_server.py) 完成A2A代理服务器(weather_server.py 、ticket_server.py 和 order_server.py) 完成客户端(main.py) 启动服务进行联调 启动MCP 服务器(mcp_weather...
2025-07-15
SmartTravel项目技术
P01_项目技术一、Function Call 函数调用 1 什么是Function Call【理解】概念:大模型基于具体任务,智能决策何时需要调用某个函数,同时返回符合函数参数的 JSON对象。 能力获得的方式:基于训练来得到的,所以并不是所有大模型都具有Function Call能力。 优势:信息实时性、数据局限性、功能扩展性。 2 Function Call 工作原理【理解】主要步骤: 用户(client)发请求提示词,chat server将提示词和可以调用的函数发送给大模型 GPT模型根据用户的提示词,判断是用普通文本还是函数调用的格式回复我们的服务(chat server) 如果是函数调用格式,那么chat server就会执行这个函数,并且将结果返回给GPT 然后模型使用提供的数据,用连贯的文本响应。 3 Function Call 使用方式3.1 自定义tool结构【熟悉】代码: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950...