LangChain 从入门到实战:一文吃透 LLM 应用开发框架

张开发
2026/6/8 12:41:01 15 分钟阅读
LangChain 从入门到实战:一文吃透 LLM 应用开发框架
前言随着大语言模型LLM的快速普及单纯调用模型接口已经无法满足复杂业务场景。如何让大模型连接私有数据、具备记忆能力、自主调用工具、完成多步骤复杂任务LangChain应运而生成为目前构建 LLM 应用最主流、最成熟的开源框架。本文基于最新版 LangChain从核心概念、核心组件、实战代码到常见场景带你快速上手适合发布在 CSDN 学习分享。一、LangChain 是什么LangChain 是一个用于开发由大语言模型驱动的应用程序的开源框架核心解决三大问题数据连接让 LLM 访问私有数据、数据库、API、本地文档交互记忆让模型记住多轮对话上下文实现连贯对话智能决策让模型自主规划步骤、调用工具、执行复杂任务Agent。简单理解LangChain LLM 记忆 检索 工具 编排。二、核心组件必掌握1. Model I/O模型交互层统一对接各类大模型OpenAI、通义千问、文心一言、Llama 等包含PromptTemplate提示词模板动态传参ChatModel聊天模型封装OutputParser输出解析器把文本转成 JSON、对象等2. Chains执行链将多个组件串联成固定流程LangChain 推荐使用LCEL 语法python运行chain prompt | model | parser3. Retrieval检索增强RAG 核心解决大模型 “知识过时” 和 “幻觉” 问题流程加载文档 → 文本分块 → 向量化 → 存入向量库 → 检索相关内容 → 送给 LLM 生成答案4. Memory记忆模块让模型记住历史对话常用ConversationBufferMemory原始记忆ConversationSummaryMemory摘要记忆ConversationBufferWindowMemory滑动窗口记忆5. Agent智能体LLM 作为大脑自主选择工具、规划步骤、循环执行实现真正 “能思考、能做事” 的 AI。三、环境安装bash运行pip install langchain langchain-community langchain-openai python-dotenv chromadb四、实战 1最简单的 LLM 调用链python运行from langchain_openai import ChatOpenAI from langchain.prompts import ChatPromptTemplate from langchain.schema.output_parser import StrOutputParser import os from dotenv import load_dotenv load_dotenv() # 初始化模型 llm ChatOpenAI( modelgpt-3.5-turbo, temperature0.7, api_keyos.getenv(OPENAI_API_KEY) ) # 提示词模板 prompt ChatPromptTemplate.from_messages([ (system, 你是一名专业的AI开发助手), (user, 请解释{topic}) ]) # 构建链 chain prompt | llm | StrOutputParser() # 执行 res chain.invoke({topic: LangChain是什么}) print(res)五、实战 2RAG 本地知识库问答最常用python运行from langchain_community.document_loaders import TextLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_openai import OpenAIEmbeddings from langchain_community.vectorstores import Chroma from langchain.chains import RetrievalQA # 1. 加载文档 loader TextLoader(knowledge.txt, encodingutf-8) docs loader.load() # 2. 文本切块 splitter RecursiveCharacterTextSplitter( chunk_size500, chunk_overlap100 ) splits splitter.split_documents(docs) # 3. 向量库 embeddings OpenAIEmbeddings() db Chroma.from_documents(splits, embeddings) # 4. 检索问答链 qa_chain RetrievalQA.from_chain_type( llmChatOpenAI(temperature0), chain_typestuff, retrieverdb.as_retriever(search_kwargs{k: 3}), return_source_documentsTrue ) # 提问 result qa_chain.invoke({query: LangChain能做什么}) print(回答, result[result])六、实战 3带记忆的对话机器人python运行from langchain.chains import ConversationChain from langchain.memory import ConversationBufferMemory memory ConversationBufferMemory() chat_chain ConversationChain(llmllm, memorymemory) print(chat_chain.predict(input你好我叫小明)) print(chat_chain.predict(input我叫什么名字))模型会记住你之前说的名字实现多轮对话。七、实战 4简单 AI Agent工具调用python运行from langchain.agents import create_react_agent, AgentExecutor from langchain.tools import DuckDuckGoSearchRun # 搜索工具 search DuckDuckGoSearchRun() tools [search] # 构建Agent agent create_react_agent(llm, tools, promptChatPromptTemplate.from_messages([ (system, 根据工具回答问题), (user, {input}), ])) agent_executor AgentExecutor(agentagent, toolstools, verboseTrue) print(agent_executor.invoke({input: 2026年AI行业趋势}))八、LangChain 适用场景十、总结LangChain 极大降低了 LLM 应用开发门槛通过模块化、可组合的设计让普通开发者也能快速构建出具备记忆、检索、工具调用的智能应用。企业内部知识库问答智能客服 / 私域机器人代码生成、代码解释文档总结、翻译、润色数据分析、报表生成自主任务执行 Agent九、学习建议先学 LCEL 链式写法不要再用旧版 LLMChainRAG 是最落地、最常用的技术优先掌握Agent 适合复杂任务但生产环境要谨慎控制向量库优先使用 Chroma、FAISS 入门再上 Milvus/Pinecone国内模型可替换通义千问、文心一言、讯飞星火等均有适配

更多文章