LangChain 从入门到实战:大模型应用开发全流程教程

LangChain 从入门到实战:大模型应用开发全流程教程 目录前言一、LangChain 核心介绍1.1 什么是 LangChain1.2 为什么必须学 LangChain1.3 本文学习路线循序渐进二、环境搭建从零开始2.1 安装 Python 与依赖2.2 本地大模型准备Ollama三、LangChain 基础最简单的 LLM 调用3.1 一行代码调用本地大模型3.2 关键参数说明四、LangChain 核心组件精讲必学4.1 提示词模板PromptTemplate4.2 链Chain组件流水线4.3 对话记忆Memory4.4 文档加载器Loader4.5 文本分割器TextSplitter4.6 向量数据库与嵌入Embedding五、实战项目 1基础智能问答系统六、实战项目 2RAG 文档知识库问答企业最常用6.1 完整代码可直接运行七、实战项目 3大模型工具调用计算器、搜索八、实战项目 4流式输出打字机效果九、LangChain 项目开发完整流程企业标准十、常见报错与解决方案1. Ollama 连接失败2. 向量库加载失败3. 回答不准确4. 文档读取失败十一、总结前言大模型时代LLM 应用开发已经成为程序员必备技能。但直接调用大模型 API 只能实现简单问答无法满足文档问答、多轮记忆、工具调用、结构化输出、知识库检索等企业级需求。LangChain正是解决这一问题的最强框架 —— 它统一了全球主流大模型的调用接口提供提示词模板、文档加载、文本分割、向量检索、智能代理、工具调用等一站式能力让开发者用几十行 Python 代码快速搭建商用级 AI 应用。本文是2025 年最新 LangChain 全流程教程从环境安装、基础组件、核心模块到RAG 知识库、工具调用、多轮对话、流式输出四大实战项目全程可直接运行代码零基础也能快速掌握大模型应用开发。一、LangChain 核心介绍1.1 什么是 LangChainLangChain 是一个开源大模型应用开发框架用于快速构建基于 LLM 的复杂应用。它的核心价值统一大模型接口通义千问、Llama3、DeepSeek、GPT 等一套代码通用提供模块化组件提示词、记忆、检索、代理、工具快速实现 RAG、AI 客服、代码助手、数据分析等应用1.2 为什么必须学 LangChain开发效率提升 10 倍无需重复造轮子屏蔽底层差异切换模型只改一行配置企业落地必备90% 大模型项目基于 LangChain 构建生态最成熟文档、插件、社区资源最全1.3 本文学习路线循序渐进环境搭建 基础调用核心组件精讲提示词、记忆、文档、向量库、链四大实战项目问答、RAG、工具、流式对话项目封装 部署思路二、环境搭建从零开始2.1 安装 Python 与依赖bash运行# 核心框架 pip install langchain langchain-community langchain-ollama # 向量数据库 pip install chromadb # 文档处理 pip install pypdf python-docx sentence-transformers # 工具库 pip install tqdm requests2.2 本地大模型准备Ollama本文使用本地离线大模型安全无费用安装 Ollamahttps://ollama.com/拉取模型bash运行ollama run llama3 # 或中文模型 ollama run qwen:7b确认服务启动http://127.0.0.1:11434三、LangChain 基础最简单的 LLM 调用3.1 一行代码调用本地大模型python运行# 01_basic_llm.py from langchain_ollama import OllamaLLM # 初始化模型 llm OllamaLLM(modelllama3) # 调用 response llm.invoke(请介绍一下LangChain框架) print(response)运行成功 环境搭建完成3.2 关键参数说明python运行llm OllamaLLM( modelllama3, # 模型名称 temperature0.1, # 随机性0精准1创意 max_tokens2048, # 最大生成长度 top_p0.9 # 核采样 )四、LangChain 核心组件精讲必学4.1 提示词模板PromptTemplate解决固定格式提问、批量生成、结构化输出python运行from langchain.prompts import PromptTemplate # 定义模板 prompt PromptTemplate( input_variables[topic], template请详细解释技术概念{topic} ) # 拼接 final_prompt prompt.format(topicRAG检索增强生成) print(final_prompt)4.2 链Chain组件流水线python运行# 最简单的链提示词 LLM chain prompt | llm result chain.invoke({topic: 大模型微调}) print(result)|符号 LangChain 最核心的管道语法4.3 对话记忆Memory实现多轮对话保留上下文python运行from langchain.memory import ConversationBufferMemory from langchain.chains import ConversationChain # 记忆组件 memory ConversationBufferMemory() chain ConversationChain(llmllm, memorymemory) # 第一轮 print(chain.predict(input你好我叫小明)) # 第二轮 print(chain.predict(input我叫什么名字))4.4 文档加载器Loader支持 PDF / Word / TXT / Markdownpython运行from langchain_community.document_loaders import TextLoader loader TextLoader(test.txt) docs loader.load() print(docs)4.5 文本分割器TextSplitter长文档切片适配大模型上下文python运行from langchain.text_splitter import RecursiveCharacterTextSplitter splitter RecursiveCharacterTextSplitter( chunk_size500, # 每片长度 chunk_overlap100 # 重叠长度 ) split_docs splitter.split_documents(docs)4.6 向量数据库与嵌入Embedding将文本转为向量用于语义检索python运行from langchain_community.embeddings import SentenceTransformerEmbeddings from langchain_community.vectorstores import Chroma embedding SentenceTransformerEmbeddings(model_nameall-MiniLM-L6-v2) db Chroma.from_documents(split_docs, embedding) # 相似度检索 retriever db.as_retriever(search_kwargs{k:3}) result retriever.invoke(LangChain是什么) print(result)五、实战项目 1基础智能问答系统python运行# 02_chat_bot.py from langchain_ollama import OllamaLLM from langchain.prompts import ChatPromptTemplate from langchain.chains import LLMChain # 1. 模型 llm OllamaLLM(modelllama3, temperature0.3) # 2. 提示词 prompt ChatPromptTemplate.from_messages([ (system, 你是专业AI助手回答简洁清晰), (user, {question}) ]) # 3. 构建链 chain prompt | llm # 4. 对话 while True: q input(你) if q in [exit, 退出]: break print(AI, chain.invoke({question: q}))六、实战项目 2RAG 文档知识库问答企业最常用6.1 完整代码可直接运行python运行# 03_rag_qa.py from langchain_ollama import OllamaLLM from langchain.prompts import PromptTemplate from langchain_community.document_loaders import TextLoader from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain_community.embeddings import SentenceTransformerEmbeddings from langchain_community.vectorstores import Chroma from langchain.chains import RetrievalQA # 1. 加载文档 loader TextLoader(knowledge.txt) docs loader.load() # 2. 切片 splitter RecursiveCharacterTextSplitter(chunk_size500, chunk_overlap100) split_docs splitter.split_documents(docs) # 3. 向量库 embedding SentenceTransformerEmbeddings(model_nameall-MiniLM-L6-v2) db Chroma.from_documents(split_docs, embedding) retriever db.as_retriever(search_kwargs{k:3}) # 4. 模型 llm OllamaLLM(modelllama3, temperature0.1) # 5. 提示词 prompt PromptTemplate( template根据参考内容回答问题 参考{context} 问题{question}, input_variables[context, question] ) # 6. RAG 链 rag_chain RetrievalQA.from_chain_type( llmllm, chain_typestuff, retrieverretriever, chain_type_kwargs{prompt: prompt} ) # 7. 测试 question 你的知识库内容是什么 print(rag_chain.invoke(question))七、实战项目 3大模型工具调用计算器、搜索python运行# 04_tool_call.py from langchain_ollama import OllamaLLM from langchain.tools import tool from langchain.agents import create_react_agent, AgentExecutor from langchain.prompts import PromptTemplate # 1. 自定义工具计算器 tool def calculator(expression: str) - str: 输入数学表达式返回计算结果 return str(eval(expression)) # 2. 模型 llm OllamaLLM(modelllama3) # 3. 提示词 prompt PromptTemplate.from_template( 你是智能助手可以使用工具。 可用工具{tools} 问题{input} ) # 4. 智能代理 agent create_react_agent(llm, [calculator], prompt) executor AgentExecutor(agentagent, tools[calculator], verboseTrue) # 5. 调用 print(executor.invoke({input: 35 * 24 120 ?}))八、实战项目 4流式输出打字机效果python运行# 05_stream_chat.py from langchain_ollama import OllamaLLM llm OllamaLLM(modelllama3) # 流式输出 for chunk in llm.stream(写一段关于AI的短文案): print(chunk, end, flushTrue)九、LangChain 项目开发完整流程企业标准需求分析问答 / RAG / 工具 / 代理模型选型本地 Ollama 或在线 API组件搭建提示词 → 记忆 → 检索 → 链业务封装函数、类、配置文件接口化FastAPI/Flask部署本地 / 服务器 / Docker十、常见报错与解决方案1. Ollama 连接失败检查服务ollama -v重启关闭重启 Ollama2. 向量库加载失败删除chroma文件夹重新构建降低嵌入模型版本3. 回答不准确调低temperature0.1优化提示词增加检索片段k3~54. 文档读取失败PDF 改用pdfplumberWord 确保是.docx格式十一、总结本文完整覆盖LangChain 从入门到企业级实战掌握基础 LLM 调用精通提示词、记忆、文档、向量库、链五大组件完成RAG 知识库、工具调用、流式对话、智能问答四大实战项目掌握企业标准开发流程LangChain 是大模型应用开发的必备框架学会它你可以快速开发✅ 企业内部知识库✅ AI 客服系统✅ 代码助手✅ 智能写作工具✅ 数据分析助手✅ PDF 阅读助手所有代码均可直接复制运行新手也能快速落地属于自己的大模型应用