来源:
https://www.dailydoseofds.com/p/function-calling-mcp-for-llms/
【代码以图像显示的是原文内容,以代码形式显示的是大模型给出的参考】
LLM 的函数调用与 MCP
在 MCP 变得像现在这样主流(或流行)之前,大多数 AI 工作流依赖于传统的函数调用 (Function Calling)。
现在,MCP(模型上下文协议)正在引入一种转变,改变开发者为智能体(Agent)构建工具访问和编排的方式。
以下是一个解释函数调用和 MCP 的图示:

让我们深入了解更多!
什么是函数调用?
函数调用是一种机制,允许 LLM 根据用户输入识别它需要什么工具以及何时调用它。

它通常的工作方式如下:
- LLM 接收来自用户的提示。
- LLM 决定它需要的工具。
- 程序员实现程序来接受来自 LLM 的工具调用请求,并准备一个函数调用。
- 函数调用(带有参数)被传递给将处理实际执行的后端服务。
让我们快速看看实际操作!
首先,我们定义一个工具函数 get_stock_price。它使用 yfinance 库来获取指定股票代码的最新收盘价:

【参考】
# (示例 Python 代码,定义 get_stock_price 函数)
import yfinance as yf
def 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 Client
client = Client() # 假设 Ollama 服务正在本地运行
response = client.chat(model='llama3'

最低0.47元/天 解锁文章
1029

被折叠的 条评论
为什么被折叠?



