当前位置: 首页 > wzjs >正文

装修网站怎么做推广学历提升有几种方式

装修网站怎么做推广,学历提升有几种方式,上海市门户网站,西安网站设计费用来源: https://www.dailydoseofds.com/p/function-calling-mcp-for-llms/ 【代码以图像显示的是原文内容,以代码形式显示的是大模型给出的参考】 LLM 的函数调用与 MCP 在 MCP 变得像现在这样主流(或流行)之前,大多…

来源:

https://www.dailydoseofds.com/p/function-calling-mcp-for-llms/

【代码以图像显示的是原文内容,以代码形式显示的是大模型给出的参考】


LLM 的函数调用与 MCP

在 MCP 变得像现在这样主流(或流行)之前,大多数 AI 工作流依赖于传统的函数调用 (Function Calling)

现在,MCP(模型上下文协议)正在引入一种转变,改变开发者为智能体(Agent)构建工具访问和编排的方式。

以下是一个解释函数调用和 MCP 的图示:

在这里插入图片描述

让我们深入了解更多!

什么是函数调用?

函数调用是一种机制,允许 LLM 根据用户输入识别它需要什么工具以及何时调用它。

在这里插入图片描述

它通常的工作方式如下:

  1. LLM 接收来自用户的提示。
  2. LLM 决定它需要的工具。
  3. 程序员实现程序来接受来自 LLM 的工具调用请求,并准备一个函数调用。
  4. 函数调用(带有参数)被传递给将处理实际执行的后端服务。

让我们快速看看实际操作!

首先,我们定义一个工具函数 get_stock_price。它使用 yfinance 库来获取指定股票代码的最新收盘价:
在这里插入图片描述
【参考】

# (示例 Python 代码,定义 get_stock_price 函数)
import yfinance as yfdef get_stock_price(ticker_symbol):"""获取给定股票代码的最新收盘价"""stock = yf.Ticker(ticker_symbol)# 获取历史市场数据,这里只取最近一天的数据来获取最新收盘价hist = stock.history(period="1d")if not hist.empty:return str(hist['Close'].iloc[0])else:return "无法获取股价信息。"

接下来,我们向一个 LLM(通过 Ollama 提供服务)发出提示,并传递模型可以用来获取外部信息(如果需要)的工具:
在这里插入图片描述
【参考】

# (示例 Python 代码,向 LLM 发出带工具的提示)
from ollama import Clientclient = Client() # 假设 Ollama 服务正在本地运行response = client.chat(model='llama3', # 或其他支持函数调用的模型messages=[{'role': 'user', 'content': '谷歌(GOOGL)今天的股价是多少?'}],tools=[{'type': 'function','function': {'name': 'get_stock_price','description': '获取给定股票代码的最新收盘价','parameters': {'type': 'object','properties': {'ticker_symbol': {'type': 'string','description': '股票代码,例如 AAPL 或 GOOGL'}},'required': ['ticker_symbol']}}}])

打印响应,我们得到:
在这里插入图片描述

【大模型给的参考】

// (示例 JSON 响应,包含 tool_calls)
{"model": "llama3","created_at": "...","message": {"role": "assistant","content": null, // 注意:通常内容为空,因为模型决定调用工具"tool_calls": [{"id": "call_abc123", // 调用ID"type": "function","function": {"name": "get_stock_price","arguments": "{\"ticker_symbol\":\"GOOGL\"}" // 参数为JSON字符串}}]},// ... 其他响应字段
}

请注意,上述响应对象的 message 键中包含 tool_calls,其中包含了相关细节,例如:

  • tool.function.name: 要调用的工具名称。
  • tool.function.arguments: 工具所需的参数。

因此,我们可以利用这些信息来生成响应,如下所示:
在这里插入图片描述

【大模型给的参考】

# (示例 Python 代码,处理工具调用并获取最终响应)
import jsonif response['message'].get('tool_calls'):# (这里通常需要一个循环来处理多个可能的工具调用)tool_call = response['message']['tool_calls'][0] # 简化,只取第一个function_name = tool_call['function']['name']function_args = json.loads(tool_call['function']['arguments'])if function_name == 'get_stock_price':# 调用我们定义的函数stock_price = get_stock_price(function_args.get('ticker_symbol'))# 将函数执行结果发送回 LLM 以生成最终回复final_response = client.chat(model='llama3',messages=[{'role': 'user', 'content': '谷歌(GOOGL)今天的股价是多少?'},response['message'], # 包含工具调用的原始助手消息{ # 新增一条 tool 角色消息,包含结果'role': 'tool','tool_call_id': tool_call['id'],'content': stock_price}])print(final_response['message']['content'])else:print("未知的工具调用。")
else:# 如果模型没有调用工具,直接打印其回复print(response['message']['content'])

这将产生以下输出(假设股价获取成功):
在这里插入图片描述

谷歌(GOOGL)的最新收盘价是 [获取到的股价]。

请注意,整个过程都发生在我们的应用程序上下文中。我们需要负责:

  • 托管和维护工具/API。
  • 实现逻辑来确定应该调用哪个工具以及其参数是什么。
  • 处理工具执行并在需要时进行扩展。
  • 管理身份验证和错误处理。

简而言之,函数调用是关于在您自己的技术栈内实现动态工具使用——但这仍然需要您手动连接所有部分。

什么是 MCP?

MCP,即模型上下文协议,试图标准化这个过程。

在这里插入图片描述

函数调用关注的是模型想要做什么,而 MCP 则关注工具如何被发现和使用——尤其是在跨多个智能体、模型或平台时。

与在每个应用或智能体内部硬编码工具不同,MCP:

  • 标准化了工具的定义、托管和向 LLM 公开的方式。
  • 使 LLM 能够轻松发现可用的工具,理解其模式 (schemas),并使用它们。
  • 在工具被调用之前提供审批和审计工作流。
  • 将工具实现的关注点与消费(使用)分离开来。

让我们通过集成 Firecrawl 的 MCP 服务器,在 Cursor IDE 中利用其抓取工具来快速了解其实际应用。

为此,请转到 设置 (Settings) → MCP → 添加新的全局 MCP 服务器 (Add new global MCP server)。

在 JSON 文件中,添加如下所示的内容👇

在这里插入图片描述

完成后,您会发现 Firecrawl 的 MCP 服务器公开的所有工具都可供您的智能体使用!

在这里插入图片描述

请注意,我们没有编写一行 Python 代码来集成 Firecrawl 的工具。相反,我们只是集成了 MCP 服务器。

接下来,让我们与这个 MCP 服务器交互。

如下方视频所示,当我要求它列出我博客中 CrewAI 工具的导入语句时:

【大家去原网址去看吧】
https://www.dailydoseofds.com/p/function-calling-mcp-for-llms/#what-is-function-calling

它:

  1. 识别出 MCP 工具(抓取器 scraper)。
  2. 准备了输入参数。
  3. 调用了抓取工具。
  4. 使用该工具的输出来生成响应。

所以换句话说——可以把 MCP 看作是基础设施

它创建了一个共享的生态系统,其中工具被视为标准化的服务——类似于传统软件工程中 REST API 或 gRPC 端点的工作方式。

结论

关键点在于:MCP 和函数调用并非相互冲突。它们是同一工作流的两个方面。

  • 函数调用帮助 LLM 决定它想做什么。
  • MCP 确保工具可靠可用、可发现且可执行——而无需您为所有东西进行自定义集成。

例如,一个智能体可能会通过函数调用说:“我需要搜索网页”。

该请求可以通过 MCP 进行路由,以从可用的网页搜索工具中进行选择,调用正确的工具,并以标准格式返回结果。

如果您不了解 MCP 服务器,我们最近在新闻通讯中介绍了它们:

  • 图解 MCP 服务器
  • 构建 MCP 服务器
  • 由 MCP 驱动的 Agentic RAG

轮到您了:您对函数调用和 MCP 有何看法?

感谢您的阅读!


文章转载自:

http://Hg3s4pBq.tykLz.cn
http://OZjZ2Hjy.tykLz.cn
http://hmf0Ny9V.tykLz.cn
http://8wnysScA.tykLz.cn
http://NGdlTcma.tykLz.cn
http://SsvuwK1P.tykLz.cn
http://RgD0qbPg.tykLz.cn
http://OpQpgXmC.tykLz.cn
http://RYKoOAQ1.tykLz.cn
http://pQ3gJR13.tykLz.cn
http://8YNJzLZO.tykLz.cn
http://gRJRks09.tykLz.cn
http://R3lYJjUd.tykLz.cn
http://vr5sRqGP.tykLz.cn
http://hK84b2t6.tykLz.cn
http://L4cs3Juk.tykLz.cn
http://1gL3lLY2.tykLz.cn
http://RpVgsGrY.tykLz.cn
http://muDE5CU9.tykLz.cn
http://qaoRbg6u.tykLz.cn
http://8m9fIjeP.tykLz.cn
http://EfZlIssF.tykLz.cn
http://si5vKycH.tykLz.cn
http://wMIj2QCQ.tykLz.cn
http://axbx0OGQ.tykLz.cn
http://4LVW8VVb.tykLz.cn
http://rtorWkMh.tykLz.cn
http://Tq5JBUOF.tykLz.cn
http://gHCC72oT.tykLz.cn
http://Jk7armgW.tykLz.cn
http://www.dtcms.com/wzjs/647084.html

相关文章:

  • l网站建设h5模板网站有哪些
  • 销售网站排名网站优化分析
  • 男女第一次做网站爱高端ppt模板
  • 第一次做网站做后感一个人如何做跨境电商
  • 企业网站修改流程wordpress免费商城模板
  • 广州做网站信科分公司网页设计与制作教程第六版答案
  • 棠下手机网站建设报价怎么开一个平台
  • 郑州企业建设网站服务高校网站群建设
  • 基于flash网站设计建站之星有手机版模板
  • 如何建立网站 个人魔贝课凡seo课程好吗
  • 杭州网站建设公司推荐采集做网站
  • 网站怎么做更好推广如何套模板做网站
  • 云南省建设系统网站公司前台设计
  • 网站建设对企业经营网站seo 优化
  • 网页设计与网站建设设计报告营销方向有哪些
  • 外贸网站中的搜索产品功能如何实现网站没有地图怎么做的
  • 网站开发哪一种语言好现在去北京安全吗
  • 百度网站推广关键词怎么查教育建设网站
  • 为何网站建设公司报价不同ps转页面wordpress插件
  • 如何做网站栏目规划浙江省住房和城乡建设行业网站
  • html网页设计环保网站网站建设设计书
  • 南宁网站建站推广门户网站开发专业
  • 电子商务网站建设及推广在网上怎么赚钱快
  • 软件开发可以做网站么私人网站建设成本
  • 做网站的个人总结优良的定制网站建设
  • 西宁企业网站营销推广什么是交互式网站
  • 月嫂的个人简历网站模板做航空产品的网站有哪些
  • 廊坊做网站的大公司网站开发前台和后台
  • 做博客的网站有哪些功能WordPress是静态的吗
  • 网络推广有哪些渠道长沙网站整站优化