深入浅出LangChain AI Agent智能体开发教程(八)—LangChain接入MCP实现流程

前言

本系列分享前七篇分别讲述了

上篇文章分享了如何利用LangChain调用PlayWright工具函数搭建智能体实现浏览器自动化, 大家学习完成后基本掌握了LangChain编写大模型智能体调用外部工具函数的技巧。随着大模型技术的不断发展,借助MCP技术快速实现智能体已经成为当前智能体开发的首选方法,作为宇宙第一Agent开发框架,LangChain自然也具备与MCP服务器对接的强大功能,本期分享我们一起来学习LangChain接入MCP的完整实现流程。

本系列分享是笔者结合自己学习工作中使用LangChain&LangGraph经验倾心编写,力求帮助大家体系化快速掌握LangChain&LangGraph AI Agent智能体开发的技能!大家感兴趣可以关注笔者优快云账号和系列专栏。更可关注笔者同名微信公众号: 大模型真好玩, 每期分享涉及的代码均可在公众号私信: LangChain智能体开发获得。

一、MCP知识点回顾

MCP(全称是Model Context Protocol,模型上下文协议), 是由Claude母公司Anthropic于2024年11月正式提出。

在这里插入图片描述
MCP的核心作用是统一了Agent开发过程中大模型调用外部工具的技术实现流程,从而大幅提高了Agent开发效率。在MCP诞生前,大模型通过Function Calling技术与工具函数对接,不同的工具函数有不同的调用方式,要连接这些外部工具开发Agent就必须“每一把锁单独配一把钥匙”,开发工作非常繁琐。

在这里插入图片描述

而MCP的诞生,则统一了这些外部工具的调用流程,使得无论什么样的工具都可以借助MCP技术按照统一的流程快速接入到大模型中从而大幅加快Agent开发效率。这就好比现在很多设备都可以使用type-c和电脑连接。

在这里插入图片描述

从技术实现角度,我们可以将MCP看成是Function Calling的一种封装,通过server-client架构和一整套开发工具来规范化Function Calling开发流程。程序员可以根据MCP协议开发包含不同工具功能的MCP服务端,并将这些服务端分享出来方便大家接入,减少了重复的开发工作,大大加速了Agent开发效率。

在这里插入图片描述

此前笔者曾分享了MCP从入门到精通的多篇文章,在学习本篇分享前大家需简单了解MCP完整技术体系,详细内容可见笔者优快云专栏: MCP怎么玩?

二、MCP+LangChain基础调用流程

本期分享我们使用LangChain编写代码调用PlayWright MCP实现浏览器自动化。LangChain调用MCP的原理是将MCP的工具函数直接转换为LangChain的工具函数,然后通过预定义的MCP_Client实现与自行编写或者官方MCP Server的读写操作。简而言之,我们只需要使用LangChain编写MCP Client 客户端代码即可。

2.1 环境搭建

  1. 首先在我们之前创建的anaconda虚拟环境langchainenv中执行如下命令安装LangChain MCP的相关依赖:
pip install langchain-mcp-adapters

在这里插入图片描述

  1. 其次要调用PlayWright官方的浏览器工具需要本地安装node.js,详细的安装流程这里不再赘述,大家可参考我的文章不写一行代码! VsCode+Cline+高德地图MCP Server 帮你搞定和女友的出行规划(附原理解析)
  2. 最后编写配置文件,在项目目录下新建servers_config.json文件,在mcp汇总网站中找到PlayWright的配置并写入servers_config.json文件中,同时添加MCP通信方式的配置项transportservers_config.json完整内容如下, 基本原理是通过npx下载PlayWright MCP Server到本地并通过stdio方式与LangChain搭建的MCP Client进行通信。
{
   
   
  "mcpServers": {
   
   
    "playwright": {
   
   
      "command": "npx",
      "args": [
        "@playwright/mcp@latest"
      ],
      "transport": "stdio"
    }
  }
}

在这里插入图片描述

2.2 使用LangChain实现MCP Client

  1. 引入相关依赖, LangChain通过MultiServerMCPClient构建MCP服务端连接工具。
import asyncio
import json
import logging

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大模型真好玩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值