LangChain + RAG 实战(三):构建第一个 RAG Chain

LangChain与LangGraph实战:从Chain到Agent、RAG与MCP集成指南 在AI应用开发浪潮中,LangChain作为一套组件化开发框架,解决了模型调用、提示词管理与文档加载等基础问题;LangGraph则通过有状态图执行机制,为可循环、可分支的Agent工作流提供了编排引擎。RAG检索增强生成利用向量检索与上下文注入,有效缓解大模型幻觉,让应用具备私有知识库问答能力;MCP协议则统一了模型与外部工具之间的调用标准,使跨系统工具集成更为规范。理解这些技术的核心原理与协作层次,工程师便能在不同场景下选择合适的技术组合:从固定流程的Chain,到动态决策的Agent,再到融合知识与工 阅读详情

创作者: Yardon  |  GitHub: github.com/YardonYan  |  版本: v1.0  | 



LCEL:LangChain 的链式语法

LCEL(LangChain Expression Language)让链式调用变得像搭积木:

from langchain.prompts import ChatPromptTemplate
from langchain.schema import StrOutputParser

prompt = ChatPromptTemplate.from_template("用{language}写一个{task}的函数")
chain = prompt | llm | StrOutputParser()

result = chain.invoke({
    "language": "Python",
    "task": "计算 Fibonacci 数列"
})

检索增强生成 (RAG) Chain

from langchain.chains import create_retrieval_chain
from langchain.chains.combine_documents import create_stuff_documents_chain

# RAG prompt
prompt = ChatPromptTemplate.from_template("""
基于以下上下文回答用户的问题。如果上下文中没有相关信息,请如实说不知道。

上下文:\n{context}\n

问题:{input}

回答:
""")

doc_chain = create_stuff_documents_chain(llm, prompt)
rag_chain = create_retrieval_chain(retriever, doc_chain)

result = rag_chain.invoke({"input": "useEffect 的依赖数组是什么意思?"})
print(result["answer"])

带来源引用的 RAG

result = rag_chain.invoke({"input": "React Hooks 的类型"})

print(result["answer"])
print("\n--- 参考来源 ---")
for i, doc in enumerate(result["context"], 1):
    print(f"[{i}] {doc.metadata.get('source', '未知来源')}")

Streamlit 快速搭一个 RAG 界面

import streamlit as st

# 加载向量数据库(缓存避免每次刷新重建)
@st.cache_resource
def get_vectordb():
    return Chroma(persist_directory="./chroma_db", embedding_function=embeddings)

# 构建 RAG
st.title("📚 企业知识库问答")
question = st.text_input("输入你的问题...")
if question:
    with st.spinner("搜索中..."):
        result = rag_chain.invoke({"input": question})
    st.markdown(f"**答案:** {result['answer']}")
    st.write("---")
    for i, doc in enumerate(result["context"], 1):
        st.caption(f"[{i}] 来源: {doc.metadata.get('source', '?')}")

本章小结

概念要点
LCEL`
create_retrieval_chain检索+生成的完整 RAG 管道
Streamlit15 分钟搭一个 RAG UI

📌 创作者: Yardon  |  🏠 个人网站: GlimmerAI.top

📖 本章是「LangChain + RAG 实战」系列的第 3 章。

🌟 欢迎大家来观看!

RAG技术与LangChain实战:构建智能代理系统 检索增强生成(RAG)是连接大语言模型与外部知识库的关键技术,通过实时检索外部信息来提升生成结果的准确性和时效性。其核心原理是将检索器、生成器和知识库三个组件有机结合,形成动态知识获取与内容生成的闭环系统。在工程实践中,RAG技术显著解决了传统大模型的'知识固化'问题,广泛应用于客服机器人、知识问答等场景。结合LangChain框架的模块化设计,开发者可以快速构建具备工具调用和流程编排能力的智能代理系统。本文通过电商客服等实际案例,展示了如何利用LangGraph实现多代理协同工作,达到95%的准确率提升。 阅读详情

相关推荐

Neo4j+LangChain构建图增强RAG系统实战

知识图谱是一种以节点和边显式表达实体及其关系的结构化知识表示方法,其核心原理在于通过语义建模实现可解释、可推理的知识组织;相比向量检索的模糊匹配,图谱能精准支持多跳关系查询与逻辑链推演,显著提升复杂问答的准确率与可审计性;在合规审查、供应链分析、研发溯源等强逻辑依赖场景中,图谱已成为RAG系统突破‘答案差点意思’瓶颈的关键技术路径;本文聚焦Neo4j原生图数据库与LangChain框架协同落地的工程实践,涵盖三元组抽取、Cypher路径查询、混合检索路由等真实可复现环节。

weixin_30307921的博客 690

【智能体开发】《LangChain核心技术与LLM项目实践》_106.[第10章 模型IO] 混合检索策略:向量+关键词双路召回

场景:向量索引和关键词索引更新不同步,用户搜到新文档的标题,但向量检索找不到内容。解决方案"""统一入口,保证两路索引同步更新"""# 批量更新,保证原子性# 1. 更新向量索引# 2. 更新BM25索引(重建或增量)# 3. 更新版本号,用于缓存失效# 全量重建,或实现增量更新all_docs = vectorstore.get() # 获取全部文档咱们今天聊的混合检索,说到底是"不把所有鸡蛋放一个篮子"的智慧。向量检索和关键词检索,各有各的战场,也各有各的软肋。

332

LangChain实战指南:从RAG到Agent,构建生产级AI应用

大语言模型(LLM)应用开发的核心挑战在于如何将模型能力与外部知识、工具和复杂逻辑有效结合。其基本原理是通过框架化的抽象,将提示工程、上下文管理、工具调用等环节标准化,从而降低开发门槛并提升系统可靠性。这一技术价值在于弥合了AI原型与生产部署之间的工程化鸿沟,使得构建智能问答、文档分析和自动化工作流等应用场景成为可能。以LangChain为代表的框架通过提供模块化组件,如用于检索增强生成(RAG)的向量数据库集成,以及用于构建有状态、多步骤工作流的LangGraph,为开发者提供了高效落地的工具链。本文聚焦

注重长远 天天积累 cqujsjcyj 469

LangChain.js 快速入门:用 JavaScript 构建大模型驱动的智能应用

大语言模型(LLM)通过 API 调用,为应用赋予了理解和生成自然语言的能力。其核心原理是基于海量数据训练出的概率模型,能够根据上下文预测并生成文本。这一技术价值在于,开发者无需从头训练模型,即可快速集成强大的 AI 功能,实现智能对话、内容创作和复杂任务自动化。在实际应用场景中,如何将大模型与自有数据、业务逻辑及外部工具(如数据库、API)高效结合,成为工程实践的关键挑战。这正是 LangChain 框架要解决的核心问题,它通过提供一套标准化的抽象和组件,让开发者能以声明式的方式编排 AI 工作流。本文将

weixin_32325225的博客 368

LangChain实战:30分钟构建RAG文档问答与AI智能体

大语言模型(LLM)的应用开发常面临集成复杂、重复编码的挑战,这催生了专门用于构建LLM应用的框架。这类框架通过模块化设计,将提示工程、上下文管理、工具调用等通用模式抽象为可复用组件,其核心价值在于提升开发效率、确保应用可靠性并支持复杂逻辑编排。在实际应用中,最常见的场景包括检索增强生成(RAG)和智能体(Agent)。RAG通过结合外部知识库来增强模型回答的准确性与时效性,而智能体则赋予模型自主调用工具、完成多步骤任务的能力。本文将以**LangChain**这一代表性框架为例,手把手演示如何快速搭建一个

weixin_34174105的博客 471

企业级大模型应用实战:基于LangChain构建RAG与Agent系统

大语言模型(LLM)在直接集成到业务系统时,常面临上下文长度限制、知识滞后和缺乏行动能力等挑战。为解决这些问题,检索增强生成(RAG)技术应运而生,它通过将外部知识库向量化并与LLM结合,为模型注入最新、最专业的领域知识,有效缓解“幻觉”问题,提升问答的准确性。在此基础上,智能体(Agent)技术进一步扩展了模型的能力边界,使其能够自主规划、调用工具并执行复杂任务,实现从“知识问答”到“行动执行”的跨越。这些技术共同构成了企业级智能应用的核心架构,广泛应用于智能客服、知识管理、自动化流程等场景。本文将以La

weixin_30667649的博客 418

LangChain---RAG实战:构建你的第一个生产级RAG应用

说明:早期版本使用create_map_reduce_documents_chain、create_refine_documents_chain,后面升级使用MapReduceDocumentsChain和RefineDocumentsChain 实现对应功能,但是没有LECL灵活,目前LangChain的官方文档和迁移指南更推荐使用LangGraph来构建复杂的Map-Reduce流程和Refine工作流(后面我会专门做几期LangGraph的教程),下面完全采用 LCEL 来实现。

xiaoganbuaiuk的博客 889

【AI大模型应用开发】【LangChain系列】4. 从Chain到LCEL:探索和实战LangChain的巧妙设计

今天这篇文章我们来学习一下LangChain中的核心思想(最出彩的设计),也可以说是其最核心的设计和价值所在:Chain模块和LCEL(LangChain Expression Language,LangChain声明式语言)语言。

同学小张的博客 3101

LangChain1.0教程:使用RAG Agent和RAG Chain构建RAG智能体

本教程将通过 RAG Agent 和 RAG Chain 展示如何基于非结构化文本数据源构建一个简单的问答应用。

python1234567_的博客 839

4.1 LangChain Chain组件详解:RetrievalQA Chain实战,串联检索生成全流程,完整代码示例

本文详细介绍了LangChain中的Chain组件,特别是RetrievalQA Chain在RAG系统中的应用。Chain作为LangChain的核心概念,能够串联多个组件形成完整处理流程。文章首先讲解了Chain的基础知识,包括LLMChain等不同类型,然后重点解析RetrievalQA Chain的工作原理和使用方法,展示了如何设置基础RAG系统。最后通过对比不同chain_type(如stuff和map_reduce)的特点,帮助开发者根据文档长度和场景选择合适的处理方式。全文通过代码示例和流程图

yonggeit的博客 3284

LangChain RAG实战——向量存储与检索篇:从向量数据库到Chain构建

本文介绍了LangChain RAG系统的三大核心模块:向量存储、语义检索和Chain构建。在向量数据库部分,对比了ChromaDB、FAISS等主流方案,并展示了ChromaDB的存储、加载和操作代码。语义检索部分详细讲解了相似度搜索、MMR检索等技术实现。最后,通过代码示例演示了如何构建完整的RAG Chain流程,包括Prompt模板设计、检索结果格式化和LLM集成。全文提供了完整的Python代码片段,帮助开发者快速实现RAG系统核心功能。

m0_74398756的博客 1026

LangChain 框架实战指南:用 Chain 与 Agent 编排 LLM 应用

LangChain 是当前构建 LLM 应用最常用的编排框架之一,它把"模型调用、提示词管理、数据源接入、工具调用与多步流程编排"统一为一套可组合的抽象。本文以 developer-roadmap 仓库 [AI Agents 路线图](https://link.gitcode.com/i/462503e343bce44715587797d3249fe9) 中 LangChain 节点为骨架,系统讲

gitblog_00794的博客 657

opencv实现“找茬”

// 111.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; #define CVX_RED CV_RGB(0xff,0x00,0x00) #define CVX_BLUE CV_RGB(0x00,0x00,0xff)//定义宏,轮廓边框颜色 in

yanHa007的专栏 2094

【万字长文】LangChain实战RAG:从零开始,构建你的第一个生产级应用指南!

系统性地回顾 RAG 架构的各个环节。掌握如何使用 LangChain 提供的 create_stuff_documents_chain 和 create_retrieval_chain 快速构建 RAG 应用。理解并应用不同文档合并策略(stuffing, map_reduce, refine)在RAG中的作用。学习如何将 RAG 链与对话记忆 (RunnableWithMessageHistory) 结合,实现有上下文的知识问答。

2401_84494441的博客 1237

别再只调PID了!手把手教你从LC谐振到检波,搞定STM32智能车电磁循迹硬件电路

本文深入解析STM32智能车电磁循迹硬件电路设计,从LC谐振选频到数字信号处理,提供完整的信号链路设计要点与实战技巧。通过优化电磁杆布局和信号放大电路,显著提升赛道位置检测精度,误差可控制在±0.5cm以内,为智能车竞赛提供可靠硬件支持。

weixin_29220405的博客 263

R语言实战:5分钟搞定相加交互效应分析(逻辑回归/Cox回归/GLMM/GEE全支持)

本文详细介绍了如何利用R语言中的`scitable`包快速实现相加交互效应分析,支持逻辑回归、Cox回归、GLMM和GEE等多种模型。通过自动化计算RERI、AP和SI等指标,大幅提升临床研究和流行病学分析的效率与准确性,特别适合处理多因素联合作用的复杂场景。

fanta的博客 671

LangChain RAG Chain Types 详解

LangChain RAG Chain Types 详解

wei_Embedded_z的博客 1018

计算机考研408复试题汇总

TCP连接是全双工的,两端都可以先挥手 其中一端完成数据发送任务后,发送一个FIN包来终止,另一端针对这个FIN包回复确认包, 直到另一端也发送请求终止数据包FIN,另一端作出确认应答,并且还要发送一个ACK=1表示确认号有效,如果没有收到这个就可以进行重传.

ca1m4n的博客 1万+

LangChain核心技术全解析:Chain、Memory、RAG、Agent与LangGraph实战

模型只知道训练时的数据,不知道昨天刚发生的新闻,也不知道你公司的内部文档。就像一个 2023 年就"冬眠"的人,醒来后对 2024 年的世界一无所知。- 每次 API 调用都是全新的开始。你问它"我叫什么",它回答了;下次再问,它完全忘记了。这不是模型笨,而是 API 的调用机制决定的——每次请求都是独立的,没有状态保持。- 问它"现在比特币多少钱",它只能胡乱猜测;让它"帮我算一下 23423 × 82342",大概率算错。大模型天生不擅长精确计算和实时数据获取。

优快云_224022的博客 1287

晶圆测试(wafer sort)全流程解析:从探针卡到良率统计的实战指南

本文详细解析了晶圆测试(wafer sort)的全流程,从探针卡选型到良率统计的实战指南。涵盖了12英寸先进制程产线的关键技术,包括探针卡系统、测试程序开发、产线自动化集成及数据分析,特别聚焦多站点并行测试的时序优化和接触阻抗异常排查,帮助工程师提升测试效率与准确性。

weixin_29279153的博客 731

YOLO26优化:注意力魔改 | 用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测,暴力涨点

用于微小目标检测的上下文增强和特征细化网络ContextAggregation,助力小目标检测

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 490

LangChain实战指南:从基础Chain到RAG与Agent应用开发

大模型应用开发涉及复杂的流程集成,LangChain作为标准化框架,通过模块化设计解决了这一痛点。其核心原理是将大模型调用、外部工具集成、数据源连接等常见模式封装为可复用组件,开发者只需关注业务逻辑组装而非底层适配。在技术价值层面,LangChain显著提升了开发效率,降低了技术门槛,使得RAG(检索增强生成)和Agent等高级应用能够快速落地。具体到应用场景,企业知识库问答系统可通过文档加载、向量化检索和生成答案的标准化流程实现;而智能助手则能借助Agent动态调用计算、搜索等工具完成复杂任务。本文基于L

weixin_30920513的博客 454

Vibe Draw:AI实现2D草图转3D建模,开源免费的设计师宝藏软件!

AI实现2D草图转3D建模,开源免费,设计师进来看一下?

Code_流苏:在代码中寻诗意,在实践中觅真知 2150
上一篇: LangChain + RAG 实战(二):文档切片与向量化
下一篇: DeepSeek 开放 Search 和 Fetch 接口,最值钱的是那个默认关着的开关
Yardon_Official
博客等级 码龄5年 800粉丝 207原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

Yardon_Official

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

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

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

打赏作者

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

抵扣说明:

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

余额充值