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

LangChain与LangGraph:AI工作流开发实战指南

1. 项目概述LangChain和LangGraph是当前AI应用开发领域最热门的两大框架工具组合。它们让开发者能够快速构建基于大语言模型(LLM)的复杂工作流就像搭积木一样把不同的AI能力连接起来。我在实际项目中用这套技术栈开发过客服对话系统、智能文档分析工具等多个应用今天就来分享从零开始的使用指南。对于刚接触AI开发的初学者来说这两个工具最大的价值在于用声明式方法定义AI处理流程内置常见模式如问答、摘要、分类的预制组件可视化调试复杂的多步骤工作流2. 核心概念解析2.1 LangChain基础架构LangChain的核心是链(Chain)的概念。一个典型的链包含这些要素from langchain.chains import LLMChain from langchain.prompts import PromptTemplate prompt PromptTemplate( input_variables[product], template给这款{product}写一段电商商品描述要求突出卖点 ) chain LLMChain(llmllm, promptprompt)这里构建的是一条商品文案生成链。实际开发中常见的链类型包括数据提取链(Extraction)问答链(QA)摘要链(Summarization)2.2 LangGraph的核心优势LangGraph在LangChain基础上增加了工作流编排能力。它的两大特色功能有状态执行可以记住对话历史、中间结果条件分支根据AI输出决定后续步骤比如这个客服对话流程from langgraph.graph import Graph workflow Graph() workflow.add_node(greet, greet_user) workflow.add_node(query, handle_query) workflow.add_edge(greet, query)3. 环境搭建指南3.1 安装准备推荐使用Python 3.10环境通过pip安装核心包pip install langchain langgraph openai对于国内用户建议配置清华镜像源加速下载pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple3.2 API密钥配置主流LLM服务的配置方法# OpenAI import os os.environ[OPENAI_API_KEY] sk-xxx # 国内平台示例 os.environ[DASHSCOPE_API_KEY] sk-xxx重要提示永远不要将API密钥提交到Git仓库建议使用环境变量或密钥管理工具4. 第一个AI工作流实战4.1 智能邮件分类器我们构建一个能自动分类并回复邮件的系统from langchain.chains import TransformChain def classify_email(inputs): content inputs[email_content] # 调用LLM判断邮件类型 return {category: 投诉 if 不满意 in content else 咨询} classification_chain TransformChain( input_variables[email_content], output_variables[category], transformclassify_email )4.2 集成到LangGraph将多个链组合成完整工作流workflow Graph() workflow.add_node(classify, classification_chain) workflow.add_node(respond, response_chain) workflow.add_conditional_edges( classify, lambda x: complaint if x[category]投诉 else normal, {complaint: escalate, normal: respond} )5. 高级应用技巧5.1 记忆机制实现让AI记住对话历史的关键代码from langchain.memory import ConversationBufferMemory memory ConversationBufferMemory() chain ConversationChain( llmllm, memorymemory )5.2 文件处理实战解析PDF文档的完整流程from langchain.document_loaders import PyPDFLoader loader PyPDFLoader(report.pdf) pages loader.load_and_split() text_splitter RecursiveCharacterTextSplitter( chunk_size1000, chunk_overlap200 ) docs text_splitter.split_documents(pages)6. 性能优化方案6.1 缓存策略使用SQLite缓存LLM响应提升速度from langchain.cache import SQLiteCache import langchain langchain.llm_cache SQLiteCache(database_path.langchain.db)6.2 异步处理提高吞吐量的异步调用方式async def batch_process(texts): chain LLMChain(llmllm, promptprompt) return await chain.arun(texts)7. 常见问题排查7.1 超时错误处理当遇到API超时时建议这样重试from tenacity import retry, stop_after_attempt retry(stopstop_after_attempt(3)) def safe_call(prompt): return llm(prompt)7.2 中文优化技巧提升中文处理效果的方法在prompt中明确指定用中文回答对长文本先分块再处理使用本地化模型如ChatGLMprompt 请用简体中文回答以下问题 问题{question} 答案8. 项目扩展思路8.1 接入企业微信通过自定义Tool实现from langchain.tools import tool tool def send_wecom_msg(content: str): 发送企业微信消息 # 实现企业微信API调用 return 消息已发送8.2 可视化监控使用Prometheus监控调用指标from prometheus_client import Counter api_calls Counter(langchain_api_calls, API调用统计) def wrapped_llm(prompt): api_calls.inc() return llm(prompt)我在实际项目中发现将LangChain与FastAPI结合可以快速构建AI微服务。一个典型的部署架构包含前端Vue.js交互界面后端FastAPI处理请求AI层LangChain工作流存储PostgreSQL向量数据库这种架构下平均响应时间可以控制在800ms以内适合大多数企业级应用场景。对于需要更高并发的场景可以考虑使用Celery进行任务队列管理。

相关文章:

LangChain与LangGraph:AI工作流开发实战指南

1. 项目概述LangChain和LangGraph是当前AI应用开发领域最热门的两大框架工具组合。它们让开发者能够快速构建基于大语言模型(LLM)的复杂工作流,就像搭积木一样把不同的AI能力连接起来。我在实际项目中用这套技术栈开发过客服对话系统、智能文档分析工具等多个应用&a…...

3种常见问题与解决方案:Vue3-Marquee如何为你的项目打造流畅滚动效果

3种常见问题与解决方案:Vue3-Marquee如何为你的项目打造流畅滚动效果 【免费下载链接】vue3-marquee A simple marquee component with ZERO dependencies for Vue 3. 项目地址: https://gitcode.com/gh_mirrors/vu/vue3-marquee 你是否在为Vue 3项目寻找一个…...

JetBrains IDE试用期重置终极指南:2026年最简30天重置方案

JetBrains IDE试用期重置终极指南:2026年最简30天重置方案 【免费下载链接】ide-eval-resetter 项目地址: https://gitcode.com/gh_mirrors/id/ide-eval-resetter 对于每一位JetBrains IDE开发者来说,试用期到期是常见困扰。无论是IntelliJ IDEA…...

Windows系统res-downloader证书配置实战指南:解决HTTPS资源嗅探难题

Windows系统res-downloader证书配置实战指南:解决HTTPS资源嗅探难题 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub_Trending/re/res-downloader …...

real-anime-z从零部署:基于Xinference的GPU算力优化实战教程

real-anime-z从零部署:基于Xinference的GPU算力优化实战教程 1. 项目简介 real-anime-z是一款基于Z-Image LoRA技术开发的真实动画风格图片生成模型。这个开源项目通过Xinference框架提供高效的模型服务,并集成了Gradio作为用户友好的Web界面。本文将带…...

终极指南:MASA模组全家桶中文汉化包安装与使用

终极指南:MASA模组全家桶中文汉化包安装与使用 【免费下载链接】masa-mods-chinese 一个masa mods的汉化资源包 项目地址: https://gitcode.com/gh_mirrors/ma/masa-mods-chinese 你是否曾在Minecraft中面对密密麻麻的英文模组界面感到困惑?是否因…...

Qwen3-VL-8B镜像部署教程:WSL2环境下Windows用户完整适配指南

Qwen3-VL-8B镜像部署教程:WSL2环境下Windows用户完整适配指南 1. 环境准备与系统要求 在开始部署之前,请确保你的Windows系统满足以下基本要求。WSL2(Windows Subsystem for Linux 2)是微软提供的兼容层,让你在Windo…...

TrollInstallerX深度解析:iOS内核漏洞利用与系统级安装架构揭秘

TrollInstallerX深度解析:iOS内核漏洞利用与系统级安装架构揭秘 【免费下载链接】TrollInstallerX A TrollStore installer for iOS 14.0 - 16.6.1 项目地址: https://gitcode.com/gh_mirrors/tr/TrollInstallerX 在iOS 14.0至16.6.1设备上部署TrollStore面临…...

UP Squared i12 Edge迷你主机:工业自动化与边缘计算利器

1. UP Squared i12 Edge迷你主机深度解析 这款来自AAEON的UP Squared i12 Edge迷你主机,可以说是工业自动化领域的一把瑞士军刀。作为长期从事边缘计算设备评测的技术人员,我第一眼就被它紧凑的无风扇设计所吸引——1309468mm的机身尺寸,重量…...

告别臃肿视频文件:3步掌握CompressO极致压缩技巧

告别臃肿视频文件:3步掌握CompressO极致压缩技巧 【免费下载链接】compressO Convert any video/image into a tiny size. 100% free & open-source. Available for Mac, Windows & Linux. 项目地址: https://gitcode.com/gh_mirrors/co/compressO 你…...

告别Flash资源困局:JPEXS Free Flash Decompiler终极提取指南

告别Flash资源困局:JPEXS Free Flash Decompiler终极提取指南 【免费下载链接】jpexs-decompiler JPEXS Free Flash Decompiler 项目地址: https://gitcode.com/gh_mirrors/jp/jpexs-decompiler 你是否曾经面对一个SWF文件,想要提取里面的精美图片…...

魔兽争霸3终极兼容性指南:如何使用WarcraftHelper解决现代系统问题

魔兽争霸3终极兼容性指南:如何使用WarcraftHelper解决现代系统问题 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 还在为魔兽争霸3在新系…...

从零部署到实战:Ubuntu22.04上复现RandLA-Net点云分割,S3DIS数据集全流程解析

1. 环境准备:从零搭建Ubuntu22.04深度学习环境 刚拿到一台装着Ubuntu22.04的新电脑时,我盯着空荡荡的终端窗口发愁——作为点云分割领域的新手,要复现RandLA-Net这种前沿算法,光是环境配置就能劝退不少人。特别是现在RTX30系显卡已…...

Qwen3.5-9B-GGUF开源大模型部署:Apache 2.0协议下商用微调全流程解析

Qwen3.5-9B-GGUF开源大模型部署:Apache 2.0协议下商用微调全流程解析 1. 项目概述 Qwen3.5-9B-GGUF是基于阿里云通义千问3.5系列的开源大语言模型,经过GGUF格式量化后,可以在消费级硬件上高效运行。这个90亿参数的稠密模型采用了创新的Gate…...

STM32F4温控项目实战:从PID参数自适应到PWM占空比调节(附MATLAB曲线分析)

STM32F4温控项目实战:从PID参数自适应到PWM占空比调节(附MATLAB曲线分析) 温度控制在工业自动化、医疗设备和消费电子等领域有着广泛应用。作为一名嵌入式开发者,掌握PID算法在STM32平台上的实现技巧,能够显著提升系统…...

手把手教你用XB8989AF搭配IP5328,DIY一个22.5W快充移动电源(附完整电路图)

从零打造22.5W快充移动电源:XB8989AF与IP5328实战指南 当市面上充斥着千篇一律的移动电源时,自己动手打造一款支持22.5W快充的个性化设备,不仅能满足特定需求,更能深入理解快充技术的核心原理。本文将带你完整走过从元器件选型到性…...

LM系列权重测试台:Z-Image专用工具,支持实时动态切换、自动权重清洗注入、单卡显存极致优化,一键测试不同训练步数权重的生成效果

LM系列权重测试台:Z-Image专用工具使用指南 1. 工具概述 LM系列权重测试台是基于阿里云通义Z-Image底座开发的Transformer权重可视化测试工具,专为LM系列自定义权重设计。该工具解决了权重切换繁琐、注入不兼容、单卡显存不足等核心痛点,通…...

别再为.so文件路径发愁了!Linux下gcc动态库四种加载方式实测(含永久生效配置)

Linux动态库加载实战:四种方法解决.so文件路径问题 每次在Linux环境下部署程序时,看到"error while loading shared libraries"的报错信息,是不是有种想砸键盘的冲动?动态库路径配置确实是Linux开发中最常见的痛点之一。…...

群晖NAS AI人脸识别终极指南:免费解锁3大智能功能,让旧设备焕发新生!

群晖NAS AI人脸识别终极指南:免费解锁3大智能功能,让旧设备焕发新生! 【免费下载链接】Synology_Photos_Face_Patch Synology Photos Facial Recognition Patch 项目地址: https://gitcode.com/gh_mirrors/sy/Synology_Photos_Face_Patch …...

告别爬虫!用OpenStreetMap和这个网站,轻松获取任意城市PNG/SVG路网底图

零代码获取城市路网底图:OpenStreetMap可视化工具全指南 当我们需要在商业报告、学术论文或教学课件中插入一张清晰的城市道路网络图时,传统方法往往令人望而却步。专业GIS软件的学习曲线陡峭,而普通地图截图又缺乏专业感和可定制性。本文将介…...

nli-MiniLM2-L6-H768实操手册:如何基于entailment_score设定业务阈值实现自动化决策

nli-MiniLM2-L6-H768实操手册:如何基于entailment_score设定业务阈值实现自动化决策 1. 模型核心能力解析 nli-MiniLM2-L6-H768是一个轻量级的自然语言推理(NLI)模型,专门用于判断两段文本之间的逻辑关系。与生成式模型不同,它的核心价值在…...

MASA全家桶汉化包:7个核心模组的中文界面终极解决方案

MASA全家桶汉化包:7个核心模组的中文界面终极解决方案 【免费下载链接】masa-mods-chinese 一个masa mods的汉化资源包 项目地址: https://gitcode.com/gh_mirrors/ma/masa-mods-chinese 你是否在Minecraft中面对Masa Mods复杂的英文界面感到困惑&#xff1f…...

别再傻傻分不清!工程师实战选型:线性稳压器 vs LDO,从压降到PSRR的保姆级避坑指南

工程师实战选型:线性稳压器与LDO的深度解析与避坑指南 在硬件设计领域,电源管理一直是工程师们绕不开的核心课题。特别是对于嵌入式系统、便携式设备和精密模拟电路而言,如何选择合适的稳压方案往往直接决定了产品的性能上限和市场竞争力。然…...

告别STM32开发板!手把手教你用Vivado在Zynq FPGA上“复刻”一个Cortex-M3软核

从STM32到Zynq FPGA:构建自定义Cortex-M3软核的实战指南 对于习惯了STM32开发环境的嵌入式工程师来说,FPGA世界可能像是一片未知的领域。但当你发现手头的项目需要定制外设、特殊总线架构或硬件加速模块时,传统MCU的固定架构就会显得捉襟见肘…...

计算机毕业设计:Python股票数据挖掘与LSTM股价预测平台 Flask框架 LSTM Keras 数据分析 可视化 深度学习 大数据 爬虫(建议收藏)✅

1、项目介绍 技术栈 采用 Python 语言开发,基于 Flask 框架搭建后端服务,通过 requests 爬虫从雪球网采集股票数据,运用 LSTM 预测算法结合 Keras 深度学习神经网络进行股价预测,前端使用 Echarts 实现数据可视化,并结…...

Betaflight固件编译实战:从源码到飞控的完整指南

Betaflight固件编译实战:从源码到飞控的完整指南 【免费下载链接】betaflight Open Source Flight Controller Firmware 项目地址: https://gitcode.com/gh_mirrors/be/betaflight 你是否曾经想要深入理解无人机飞行控制器的核心工作原理?或者想要…...

如何5分钟破解8大网盘限速?LinkSwift网盘直链下载助手完整指南

如何5分钟破解8大网盘限速?LinkSwift网盘直链下载助手完整指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘…...

机器学习中的线性代数:从基础概念到实践应用

1. 线性代数入门:从机器学习视角看数据数学线性代数是现代数据科学和机器学习的基础语言。作为一名从业多年的数据科学家,我经常遇到初学者对线性代数感到畏惧——那些矩阵、向量空间和特征分解的概念看起来抽象又晦涩。但事实上,线性代数的核…...

MusicFree:如何通过插件化架构打造终极免费音乐播放器体验

MusicFree:如何通过插件化架构打造终极免费音乐播放器体验 【免费下载链接】MusicFree 插件化、定制化、无广告的免费音乐播放器 项目地址: https://gitcode.com/GitHub_Trending/mu/MusicFree 你是否厌倦了广告满天飞的音乐应用?是否受够了VIP歌…...

MobaXterm高效运维:通过SSH管理远程星图GPU服务器与Qianfan-OCR-4B服务

MobaXterm高效运维:通过SSH管理远程星图GPU服务器与Qianfan-OCR-4B服务 1. 为什么选择MobaXterm进行远程服务器管理 对于需要频繁操作远程GPU服务器的开发者来说,一个好用的终端工具能极大提升工作效率。MobaXterm作为一款专为远程计算设计的全能终端&…...