前言

参考文献:
https://python.langchain.com/docs/tutorials/llm_chain/
https://www.bilibili.com/video/BV1pYKgzAE5C
本文仅仅用于学习记录langchain的基础内容。感谢以上参考文献。
本文的完整代码,可从笔者的gitee下载。


一、基于langchain的MCP

案例1:无langchain的基于MCP多服务器+function calling 的聊天系统

mcp协议的内容可参考笔者之前的博客,不在此赘述。下图只给出运行后的效果。
运行环境如下:(注释:如果不想用uv安装虚拟环境,直接在conda的langchain虚拟环境中安装所需要的包,也一样,只是需要将servers_config.json中的"command:python"改为:“conda虚拟环境路径+\python.exe”)。笔者此处套壳使用uv,熟悉下uv的使用步骤)

# 激活 Conda 环境,python = 3.11
conda activate langchain 

# 使用 pip 安装核心包
pip install uv
# Create project directory
uv init mcp-client
cd mcp-client

# Create virtual environment
uv venv

# Activate virtual environment
# On Windows:
.venv\Scripts\activate
# Install required packages
uv add mcp openai python-dotenv httpx

在这里插入图片描述

案例2:langchain编写MCP服务器:天气查询功能weather_server+写入本地文档write_server

首先进入uv环境,安装必要的包:

uv add langchain langchain-deepseek python-dotenv langchain-mcp-adapters -i https://pypi.tuna.tsinghua.edu.cn/simple

安装好后可以用uv pip list查看。键入uv run langchain_mcp.py,来看看对话效果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

案例3:langchain编写MCP服务器:导航查询功能map_server

笔者参考weather_server.py的结构,利用百度地图api中驾驶导航功能和百度官方文档(https://lbsyun.baidu.com/faq/api?title=webapi/webservice-direction/dirve),编写了baidumap_server。接下来查看下使用效果。首先是试一下导航功能,结果还可以。不过由于笔者用的是免费的api,所以是有距离上限的。
【20250815补充:https://github.com/baidu-maps/mcp 百度地图官方提供了10种mcp工具,下载即可用。】
在这里插入图片描述
继续追问:北京天气如何?答案也是正确的。
在这里插入图片描述
在这里插入图片描述

案例4:langchain编写MCP服务器:RAG_server

二、基于langchain的RAG

案例1:解析“王之凝视游戏策略”PDF文档的RAG问答:

首先安装必要的包:

conda activate langchain
pip install streamlit PyPDF2 dashscope faiss-cpu

其中的embeddings模型,使用阿里的模型,需要dashscope_api_key。百度搜索:“阿里云 获取API Key”注册获取,然后填入程序中的dashscope_api_key。最后在conda prompt中输入,运行如下:

streamlit run RAGtest.py --server.port 9999

在这里插入图片描述

在这里插入图片描述

案例2:解析“未来科技有限公司的差旅费标准”PDF的RAG问答:

结果还是比较准确的。(还是当领导好啊~
在这里插入图片描述
在这里插入图片描述

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐