langchain入门笔记02:几个实际应用

文章目录


前言

参考文献:

https://python.langchain.com/docs/tutorials/llm_chain/

https://www.bilibili.com/video/BV1pYKgzAE5C

本文仅仅用于学习记录langchain的基础内容。感谢以上参考文献。

本文的完整代码,可从笔者的gitee下载。


一、基于langchain的MCP

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

mcp协议的内容可参考笔者之前的博客,不在此赘述。下图只给出运行后的效果。

运行环境如下:

python 复制代码
# 激活 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多服务器的聊天系统

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

bash 复制代码
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多服务器的导航查询功能

笔者参考weather_server.py的结构,利用百度地图api中驾驶导航功能和百度官方文档(https://lbsyun.baidu.com/faq/api?title=webapi/webservice-direction/dirve),编写了baidumap_server。接下来查看下使用效果。首先是试一下导航功能,结果还可以。不过由于笔者用的是免费的api,所以是有距离上限的。

继续追问:北京天气如何?答案也是正确的。

距离上限测试:从杭州市杭州东站自驾到宁波市东钱湖景区要多久?过路费多少钱?答案比较准确,读者可以用手机上的导航软件测试一下。

二、基于langchain的RAG

案例1:解析PDF文档的RAG问答

首先安装必要的包:

bash 复制代码
conda activate langchain
pip install streamlit PyPDF2 dashscope faiss-cpu

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

python 复制代码
streamlit run RAGtest.py --server.port 9999
相关推荐
爱昏羔14 分钟前
下篇:从检索到交互 — 物流RAG问答系统与WebUI全实现
python·langchain·agent
_Jimmy_23 分钟前
Agent引用数据库知识过时的增量同步方案
人工智能·python·langchain
孙启超8 小时前
【AI应用开发】 RAG篇(一):概述与核心架构
llm·embedding·向量数据库·rag·向量化·ai应用开发·chunking
韩楚风8 小时前
【参天引擎】一次宕机后的数据恢复,让我把 Cantian 持久化与恢复的六大机制全搞明白了
服务器·网络·数据库·分布式·mysql·架构·cantian
kirs_ur8 小时前
SSD 安全特性 — 加密与 TCG Opal
服务器·网络·安全
智购科技智能售货柜8 小时前
无人售货机连不上服务器?MQTT 频繁掉线排查全流程~YH
运维·服务器
Mortalbreeze9 小时前
深入 Linux Socket 编程:端口号、网络字节序与 struct sockaddr 详解
linux·服务器·网络·c++
躺柒9 小时前
读半导体简史08大型机
linux·服务器·c语言·数据库·unix·ibm
井川廊咏9 小时前
【总集篇】Linux | 如何创建一个 home 目录在 /data 磁盘的 sudo 用户(补档)
linux·运维·服务器
Dear~yxy11 小时前
LVS企业级实战
linux·服务器·lvs