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

2026年最硬核的LangChain从入门到精通:全网最细核心组件全景剖析

大家好,我是你们的技术伙伴。👋

站在2026年的时间节点回望,大语言模型(LLM)已经不再是新鲜事物,它渗透在我们生活的方方面面。但作为一名开发者,如果只满足于调用现成的模型,而不懂其内部的运行逻辑,那我们和“调参侠”又有什么区别?

今天,我将结合Python代码实战深度理论剖析,带你从零构建一套完整的LangChain知识体系。我们将穿越Transformer的迷雾,直击LangChain的核心组件,让你在面对任何LLM面试题或技术难题时,都能从容不迫。

核心内容概览:

  1. LangChain核心组件全景:Models、Prompts、Chains、Memory、Indexes、Agents。
  2. LCEL链式语法:掌握|操作符,构建高效的处理流水线。
  3. 智能体(Agent)实战:让大模型具备“思考”与“行动”的能力。

🧠 第一部分:LangChain核心组件全景

LangChain是围绕LLMs建立的一个框架,它的核心理念是为各种LLMs实现通用的接口,把LLMs相关的组件“链接”在一起,简化LLMs应用的开发难度。

1. Models(模型):AI的“大脑”

Models组件提供了与各种模型的集成接口。目前主要支持三种类型:

  • LLMs:接收文本输入,返回文本。
  • Chat Models:基于LLMs,接收聊天消息(AIMessage/HumanMessage/SystemMessage)列表作为输入。
  • Embeddings Models:接收文本,返回浮点数列表(向量化)。

代码实战:调用通义千问Qwen-Max

from langchain_community.llms.tongyi import Tongyi from dotenv import load_dotenv import os # 1. 加载环境变量 load_dotenv() # 2. 实例化模型 llm = Tongyi(model='qwen-max') # 3. 模型推理 res = llm.invoke("帮我讲个笑话吧") print(res)
2. Prompts(提示词):与AI沟通的“咒语”

Prompt是引导模型生成特定结果的关键。LangChain提供了PromptTemplate来构建动态提示词。

代码实战:构建通用提示词模板

from langchain_core.prompts import PromptTemplate # 定义模板 template = "我的邻居姓{lastname},他生了个儿子,给他儿子起个名字" # 构建提示词模板 prompt = PromptTemplate( input_variables=["lastname"], template=template, ) # 生成提示词 prompt_text = prompt.format(lastname="王") print(prompt_text)
3. Chains(链):串联组件的“流水线”

Chain是将LLM与其他组件结合起来完成应用程序的过程。

代码实战:LCEL(LangChain Expression Language)链式语法
LCEL使用|符号将组件连接起来,是目前最推荐的写法。

# 安装:pip install langchain from langchain_core.prompts import PromptTemplate from langchain_community.llms.tongyi import Tongyi # 初始化模型 llm = Tongyi(model='qwen-max') # 定义模板 prompt = PromptTemplate.from_template( "请为姓氏 {lastname} 的宝宝起一个名字,要求有诗意。" ) # 构建Chain chain = prompt | llm # 执行链 result = chain.invoke({"lastname": "李"}) print(result.content)
4. Memory(记忆):让AI“记得住”你

大模型本身不具备记忆能力,Memory组件用于保存和模型交互时的上下文状态。

代码实战:ConversationChain实现连续对话

from langchain.chains import ConversationChain from langchain_community.chat_models.tongyi import ChatTongyi # 实例化聊天模型 chat = ChatTongyi() # 创建会话链 conversation = ConversationSection(chat) # 连续对话 print(conversation.predict(input="小明有1只猫")) print(conversation.predict(input="小刚有2只狗")) print(conversation.predict(input="小明和小刚一共有几只宠物?"))
5. Indexes(索引):RAG的“地基”

Indexes组件负责文档处理,包括加载、分割、向量化存储和检索。

代码实战:文档加载与向量存储

from langchain_community.document_loaders import TextLoader from langchain.text_splitter import CharacterTextSplitter from langchain_chroma import Chroma from langchain_community.embeddings import DashScopeEmbeddings # 1. 加载文档 loader = TextLoader('./data/pku.txt', encoding='utf8') docs = loader.load() # 2. 文档分割 text_splitter = CharacterTextSplitter(chunk_size=180, chunk_overlap=0) split_texts = text_splitter.split_documents(docs) # 3. 加载嵌入模型 embeddings = DashScopeEmbeddings() # 4. 构建向量库并持久化 vectordb = Chroma.from_documents( documents=split_texts, embedding=embeddings, persist_directory='./chroma_data' )
6. Agents(智能体):会“思考”的AI

Agent是LangChain中最强大的组件,它能让模型根据输入决定调用哪些工具(Tools)。

代码实战:Agent调用维基百科与计算器

from langchain.agents import initialize_agent, AgentType from langchain_community.agent_toolkits.load_tools import load_tools from langchain_community.llms.tongyi import Tongyi # 初始化模型 llm = Tongyi() # 加载工具 (维基百科、数学计算) tools = load_tools(["wikipedia", "llm-math"], llm=llm) # 初始化Agent agent = initialize_agent( tools, llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True # 显示思考过程 ) # 执行任务 agent.invoke("故宫的历史简介是什么?") agent.invoke("计算300的25%是多少?")

🏗️ 第二部分:LCEL链式语法详解

LCEL(LangChain Expression Language)是LangChain的核心语法糖,它让代码变得极其简洁且可读。

核心逻辑:就像Unix的管道符|一样,把前一个组件的输出作为后一个组件的输入。

实战案例:构建一个“起名专家”链

from langchain_core.prompts import ChatPromptTemplate from langchain_core.output_parsers import StrOutputParser from langchain_community.chat_models.tongyi import ChatTongyi # 1. 定义提示词模板 prompt = ChatPromptTemplate.from_template( "你是一位资深国学专家,请根据姓氏 {lastname},参考《诗经》,起一个有文化底蕴的名字。" ) # 2. 初始化模型 model = ChatTongyi(model='qwen-max') # 3. 初始化解析器 (将模型输出解析为字符串) parser = StrOutputParser() # 4. 组装LCEL链 # 执行流程:Prompt -> Model -> Parser chain = prompt | model | parser # 5. 调用 result = chain.invoke({"lastname": "苏"}) print(f"推荐名字: {result}")

🤖 第三部分:智能体(Agent)的“思考”之旅

Agent = 大模型 + 任务规划 + 工具使用 + 记忆。它最大的特点是能根据问题动态决定是否需要调用工具。

1. Agent的工作流程
  1. Input:接收用户输入。
  2. Thought:大模型思考是否需要工具,如果需要,选择哪个工具,传入什么参数。
  3. Action:执行工具。
  4. Observation:观察工具返回的结果。
  5. Final Answer:生成最终答案。
2. 代码实战:自定义工具

我们可以让Agent具备任何能力,比如查询当前时间。

from langchain.agents import tool from datetime import date # 定义自定义工具 @tool def get_current_date(text: str) -> str: """返回今天的日期。""" return str(date.today()) # 加载原有工具并加入自定义工具 tools = load_tools(["llm-math"], llm=llm) agent = initialize_agent(tools + [get_current_date], llm, agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, verbose=True) # 提问 agent.invoke("今天是星期几?")

📝 第四部分:总结与展望

回顾这篇文章,我们完成了以下技术探险:

  1. 核心组件:掌握了LangChain的六大核心组件。
  2. LCEL语法:学会了如何用|构建高效的处理流水线。
  3. Agent实战:让AI具备了“思考”与“行动”的能力。

2026年的今天,AI技术日新月异,希望这篇博客能成为你技术进阶路上的垫脚石。如果你觉得有收获,希望点赞、收藏、关注!你的支持是我持续输出硬核内容的最大动力!

http://www.jsqmd.com/news/909258/

相关文章:

  • 万里通积分卡怎么回收?回收平台如何选择? - 团团收购物卡回收
  • 如何利用ESP32多SPI总线实现高性能物联网设备共存方案
  • 别再踩坑了!微信小程序获取模糊位置(wx.getFuzzyLocation)从申请到调用的保姆级教程
  • Sora 2元宇宙内容创作革命(2024唯一通过OpenAI官方API+Unity XR双认证的生产链路)
  • 快速上手FinBERT-FLS:基于3500条标注数据的金融NLP模型实践指南
  • Adobe-GenP终极指南:3步免费激活Adobe全系列软件的完整方案
  • YouTube 升级 AI 生成内容标签体系:醒目展示、自动检测,鼓励创作者主动披露
  • 孝感黄金回收实力测评:长悦S级领跑,这些机构谁值得选? - 专业黄金回收
  • 实测MistralLite-openmind处理13400 tokens:亚马逊Aurora知识库问答实战
  • 别再只盯着效率了!手把手教你用M3406-ADJ设计3.3V降压模块(附PCB避坑指南)
  • 在多模型API调用中如何通过用量看板清晰掌握消费情况
  • 抖音一键去水印免费方法与工具推荐
  • 成都消防操作证报名费多少钱(内行拆解不被割韭菜) - 消防设施操作员考证
  • 终极中文文献管理方案:Jasminum让Zotero效率提升300%
  • FFlate架构设计:企业级JavaScript压缩解压性能优化方案
  • 魔兽争霸3终极优化指南:一键解锁15+隐藏功能,让经典游戏焕发新生
  • Llama3-ChatQA-1.5-8B震撼发布:新一代文档问答AI模型如何重塑智能交互体验?
  • 使用qBittorrent-Enhanced-Edition实现智能下载调度:自动启停与系统关机完整配置手册
  • 2026乌鲁木齐黄金回收实测:长悦等六家平台避坑指南 - 专业黄金回收
  • 2026广深靠谱全屋定制评测:欧雅尊领衔 - 服务品牌热点
  • 用ZLMediaKit+FFmpeg快速搭建一个支持RTSP/RTMP/HLS的私有直播服务器
  • 5步开启你的本地AI视频剪辑:告别繁琐手动,让智能工具为你工作
  • Agent Skills 万千应用 · 第13篇_行业报告 Skill:从一堆网页生成结构化报告
  • 3步掌握WeChatMsg:如何永久保存微信聊天记录并生成年度社交报告
  • 小米招聘 Agent 上线:依托大模型,为求职者提供政策解答、精准岗位推荐等服务
  • 3大突破:PVE Tools如何彻底改变Proxmox VE运维工作流
  • 2026年5月29日博客精选
  • |微信投票怎么发起?云帆投票超实用完整操作教程 - 投票小程序
  • 终极显卡驱动清理指南:Display Driver Uninstaller完整使用教程
  • 抖音批量下载神器:免费开源工具助你高效收集内容