让DeepSeek无所不能?7分钟弄懂从函数调用到MCP,附代码实操!

大家在刚接触DeepSeek这类大模型的时候,可能会以为它是一个全知全能的工具,所以我们自然而然地可能就想问它一些关于生活的话题,比如"今天南京的天气如何"。

但我们知道,DeepSeek是用过去已知的知识训练完毕的大模型,它并不能及时获取或更新相关数据。当然,如果你勾选联网搜索,是有可能查询到最近的一些信息的。然而对于时效性很强的信息,它大概率不清楚,甚至DeepSeek可能会胡编乱造南京的天气情况------这种现象就是模型的幻觉。

那么,有没有什么方法能够获取到我们想要的信息呢?在MCP技术概念提出之前,大家通常采用本地的Function Call(函数式调用)方式实现这一目的。

具体流程是:服务提供商会先在本地搭载一个程序,其中编写天气查询的服务函数。当你向DeepSeek提问时,需要将这个本地函数一起注册给DeepSeek。

DeepSeek通过交流和你提供的已注册函数集合,会判断是否触发其中某些函数。如果发现你的问题恰好与某函数相关,就会触发对应函数并执行,获取结果。由于程序返回的结果可读性较差,DeepSeek会对其润色后再返回给我们。

我们可以用代码演示这个流程,我们可以使用之前介绍过的硅基流动的DeepSeek接口:包教包会!5分钟快速对接DeepSeek,完全免费!

首先定义相关函数,比如这里定义了一个get_current_weather函数,它会接收地点参数并返回对应天气(为简化演示,这里返回固定结果,实际可对接真实天气服务)。

python 复制代码
def get_current_weather(location: str, unit: str = "摄氏度"):    """获取指定地点的当前天气信息
    参数:        地点 (str): 城市名称,例如:"北京"        温度单位 (str): 温度单位,可选"摄氏度"或"华氏度"
    返回:        dict: 包含天气信息的字典    """    weather_data = {        "location": location,        "temperature": "25",        "unit": unit,        "forecast": "sunny",        "humidity": 65,    }    return weather_data

当用户提问"南京今天的天气如何"时,需要同时将函数说明(包含名称、描述、参数)注册到会话信息中。这样DeepSeek就能从提问中提取"南京"作为参数。

提交后,DeepSeek会返回触发的函数名称和参数,我们本地执行函数后将结果再提交给DeepSeek润色,最终得到可读性强的回复:"南京今天天气晴朗,温度25℃,湿度65%,较为舒适,适合外出。"这就是函数调用的具象化体现。

但这种方式存在一个问题:函数执行必须由本地完成。那么能否让远程服务商代为执行呢?这就是MCP技术的作用。

MCP全称Model Context Protocol(模型上下文协议),本质上是一个开放式协议。只要服务商按协议规则编写代码,就能形成各种MCP服务。配置服务列表后,DeepSeek在会话中就能自动调用对应服务(如查询天气、订火车票、查股票等)。如果MCP服务足够多,大模型几乎能帮我们完成任何事情。

MCP协议由Anthropic公司(开发Claude.ai的团队)于2023年提出,旨在通过标准化协议实现AI与外部服务的动态交互,突破传统函数调用的机械性。

GitHub上MCP官方列出的服务已覆盖数据库查询、代码调试、3D建模、企业ERP、智能家居等多个领域。

我们也可以根据官方文档在本地启动天气服务:配置环境后创建weather.py服务文件,用mcp.tool装饰器注册天气函数即可。启动服务后,在Claude Desktop的开发者模式中配置MCP服务,聊天界面会出现小锤子图标显示已注册的工具函数。

接着我们可以向他提问,询问某一个地点的天气。这个时候大模型会发现,我们的聊天可能触及到了某个MCP服务中的函数。

接着大模型就会调用对应的函数并且获取到对应的返回结果。跟我们刚才演示的函数式调用的代码逻辑相同,大模型也会将这个返回结果加以润色。

但由于这个天气预报的服务只能够查询美国的天气,所以呢,我在这里询问南京的天气如何,这里就无法调用对应的MCP的服务了。

MCP的概念最早起源于国外的公司,因此啊,这阵风还没有完全吹到国内来,所以目前更多的应用呢只能基于Claude Desktop进行执行。但是目前,众多开源技术社区已经加大了对MCP服务的支持,其中最活跃的GLAMA开源社区中已有361个MCP服务。相信在不远的将来,我们就可以在DeepSeek中使用到众多便捷的MCP服务工具。

相关推荐
袁庭新1 小时前
大模型本地部署3种方式
人工智能·llm·deepseek
心之所依皆是你14 小时前
「源力觉醒 创作者计划」 百度AI的战略“惊蛰”,一场重塑格局的“破壁行动”
文心一言·deepseek·qwen3.0
哪 吒14 小时前
OpenAI放大招:ChatGPT学习模式上线,免费AI智能家教
人工智能·学习·ai·chatgpt·gemini·deepseek
灯前目力虽非昔,犹课蝇头二万言。1 天前
DeepSeek笔记(三):结合Flask实现以WEB方式访问本地部署的DeepSeek-R1模型
笔记·flask·deepseek
玄明Hanko1 天前
DeepSeek开源 vs 文心4.5开源
人工智能·文心一言·deepseek
智海观潮2 天前
DeepSeek在大数据领域正掀起一场深刻的变革
大数据·ai·deepseek
青梅主码5 天前
Artificial Analysis《2025年上半年人工智能应用报告》Google、xAI、DeepSeek崛起,大模型洗牌
aigc·ai编程·deepseek
charlee446 天前
PandasAI连接LLM进行智能数据分析
ai·数据分析·llm·pandasai·deepseek
FIT2CLOUD飞致云7 天前
七月月报丨MaxKB在企业环境中实现AI落地的具体场景盘点
人工智能·开源·deepseek
陈佬昔没带相机7 天前
Dify MCP功能实测,小参数模型竟然全军覆没!
ollama·deepseek·mcp