当前位置: 首页 > news >正文

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

文章目录

  • 前言
  • 一、基于langchain的MCP
    • 案例1:无langchain的基于MCP的多服务器+function calling 的聊天系统
    • 案例2:langchain接入MCP多服务器的聊天系统
    • 案例3:langchain接入MCP多服务器的导航查询功能
  • 二、基于langchain的RAG
    • 案例1:解析PDF文档的RAG问答


前言

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


一、基于langchain的MCP

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

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

# 激活 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环境,安装必要的包:

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问答

首先安装必要的包:

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

在这里插入图片描述

在这里插入图片描述

http://www.xdnf.cn/news/1257733.html

相关文章:

  • 模拟-38.外观数列-力扣(LeetCode)
  • OpenCV 图像处理基础操作指南(一)
  • 「iOS」————自动释放池底层原理
  • React 中 useRef 使用方法
  • 接入小甲鱼数字人API教程【详解】
  • 透明矿山:科技重塑矿业未来
  • Day09 Tlisa登录认证
  • DAY33打卡
  • 哈勃网络计划大规模升级卫星以创建全球蓝牙层
  • OpenAI 开源模型 gpt-oss 正式上线微软 Foundry 平台
  • 中国北极圈战略部署
  • 数据结构(5)
  • 构建一个简洁优雅的 PHP 参数验证器 —— php-schema-validator
  • concurrentqueue:一个高并发高性能的C++无锁队列
  • 计算机视觉(opencv)——图像本质、数字矩阵、RGB + 基本操作(实战一)
  • 十八、k8s细粒度流量管理:服务网格
  • Netty知识储备:BIO、NIO、Reactor模型
  • 无人机未来的通信脉络:深度解析远距离无线通信模块的革新
  • Numpy科学计算与数据分析:Numpy数组操作入门:合并、分割与重塑
  • Spring Cloud系列—LoadBalance负载均衡
  • 剑指offer第2版——面试题1:赋值运算符函数
  • LINUX-批量文件管理及vim文件编辑器
  • AR技术:制造业质量控制的“智能革新”
  • OpenAI 开源模型 GPT-OSS深度拆解:从1170亿参数到单卡部署,重构AI开源生态
  • Claude Code MCP 网络搜索配置命令
  • Node.js特训专栏-实战进阶:21.Nginx反向代理配置
  • 开源软件与文化:从嬉皮士精神到数字时代的协同创新
  • 计算机网络1-5:计算机网络的性能指标
  • 浅析 Berachain v2 ,对原有 PoL 机制进行了哪些升级?
  • 水下管道巡检机器人cad【10张】三维图+设计说明书