LangChain实战训练营-01基础入门
文章目录第1章 LangChain概述1.1 为什么需要LangChain1.1.1 从传统应用到智能体时代1.1.2 单一的大语言模型的局限性1.2 LangChain框架的定位1.2.1 打通大模型与外部资源1.2.2 封装底层复杂逻辑1.2.3 支撑多智能体协作1.3 LangChain的应用场景1.3.1 检索增强生成(RAG)1.3.2 Agent智能体构建1.3.3 对话系统与聊天机器人1.3.4 多模态应用开发1.3.5 自动化写作与格式化生成1.3.6 数据连接与结构化处理1.4 LangChain的发展历程1.4.1 第1阶段:诞生(2022年10月)1.4.2 第2阶段:探索期(2022年Q4—2023年Q1)1.4.3 第3阶段:体系化阶段(2023年Q2—2023年Q4)1.4.4 第4阶段:平台化阶段(2024年—2025年上半年)1.4.5 第5阶段:深层智能体阶段(2025年下半年至今)1.5 LangChain v1.x vs v0.3对比1.5.1 v0.3版本:既爱又恨1.5.2 v1.x版本:AI开发新范式1.5.3 详细对比表1.5.4 LangChain v1.2的主要模块1.5.5 API文档资源1.6 LangChain家族四大支柱1.6.1 LangChain:智能体开发的基石1.6.2 LangGraph:复杂工作流的编排引擎1.6.3 Deep Agent:智能体的执行框架1.6.4 三者的关系1.6.5 LangSmith:可视化监控与测试平台第2章 开发环境搭建2.1 前置知识要求2.1.1 Python基础语法2.1.2 大语言模型基础2.1.3 硬件要求2.2 Python环境管理方案2.2.1 方案对比2.3 Conda环境安装与配置2.3.1 安装Anaconda/Miniconda2.3.2 创建conda虚拟环境2.3.3 退出与删除环境2.4 LangChain安装2.4.1 安装方式说明2.4.2 使用conda安装LangChain2.4.3 使用pip安装LangChain2.4.4 安装完整依赖(推荐)2.5 PyCharm开发环境配置2.5.1 下载与安装2.5.2 创建新项目并配置解释器2.5.3 验证安装2.5.4 推荐的PyCharm插件第3章 模型的创建与调用3.1 模型调用概述3.1.1 从Model I/O到聊天模型3.1.2 模型初始化的分类角度3.2 线上大模型服务平台介绍3.3 使用模型提供商专用API调用3.3.1 DeepSeek大模型调用示例3.3.2 智谱大模型(GLM)调用示例3.3.3 通义千问(阿里云百炼)调用示例3.3.4 腾讯混元大模型调用示例3.3.5 OpenAI模型调用示例3.3.6 通过OpenRouter调用多个模型3.4 使用init_chat_model统一方式调用3.4.1 init_chat_model基本使用3.4.2 切换模型示例3.4.3 支持的模型提供商3.4.4 init_chat_model的其他参数3.5 本地大模型Ollama调用3.5.1 Ollama简介与安装3.5.2 下载并运行模型3.5.3 安装langchain-ollama包3.5.4 LangChain调用Ollama模型3.5.5 Ollama常用命令3.6 模型调用常用参数详解3.6.1 temperature(温度)3.6.2 top_p(核采样)3.6.3 max_tokens(最大生成token数)3.6.4 stop(停止词)3.6.5 timeout(超时时间)3.6.6 max_retries(最大重试次数)3.6.7 seed(随机种子)3.7 流式输出与批量处理3.7.1 为什么需要流式输出3.7.2 使用stream方法进行流式输出3.7.3 流式输出的工作原理3.7.4 批量处理:batch方法3.7.5 异步调用:ainvoke / astream / abatch第4章 LangSmith可视化监控平台4.1 LangSmith简介4.1.1 什么是LangSmith4.1.2 LangSmith的核心功能4.1.3 LangSmith是必须的吗4.2 LangSmith账号注册与配置4.2.1 注册LangSmith账号4.2.2 获取API Key4.2.3 配置环境变量4.2.4 验证配置是否生效4.3 LangSmith基本使用4.3.1 查看调用记录(Traces)4.3.2 调用详情页解析4.3.3 添加项目(Project)4.3.4 添加标签和元数据4.4 链路追踪与调试4.4.1 常见调试场景4.4.2 LangSmith的其他功能简介第5章 大模型应用场景深度解析5.1 RAG检索增强生成5.1.1 RAG要解决的问题5.1.2 什么是RAG5.1.3 RAG的完整流程5.1.4 RAG的核心难点5.2 Agent智能体开发5.2.1 Agent的核心思想5.2.2 Agent的经典公式5.2.3 Agent核心模块详解5.3 大模型应用四大技术场景5.3.1 场景1:纯Prompt工程5.3.2 场景2:Agent + Function Calling5.3.3 场景3:RAG (Retrieval-Augmented Generation)5.3.4 场景4:Fine-tuning(精调/微调)5.4 技术方案选择指南5.4.1 需求分析第一步:问自己几个问题5.4.2 常见场景的技术选型参考5.4.3 从小处开始,逐步迭代附录A:常见问题与解决方案A.1 环境安装相关问题A.2 模型调用相关问题A.3 LangSmith相关问题A.4 代码编写相关问题附录B:完整代码示例汇总B.1 第一章-环境验证代码B.2 第三章-DeepSeek调用完整示例B.3 第三章-init_chat_model统一调用示例B.4 第三章-Ollama本地模型示例B.5 第四章-LangSmith配置验证示例B.6 .env文件模板第1章 LangChain概述欢迎来到LangChain的世界!在这一章中,我们将深入探讨为什么LangChain会成为AI应用开发的首选框架,它解决了什么问题,以及它的核心定位和应用场景。无论你是AI应用开发的新手还是有经验的开发者,理解LangChain的设计理念和生态体系都是掌握这个框架的第一步。1.1 为什么需要LangChain1.1.1 从传统应用到智能体时代我们正处在一个软件架构深刻变革的时代。传统的软件应用,无论是Web应用、移动应用还是桌面软件,都是基于预先定义好的规则和流程来运行的。开发者需要明确编写每一个业务逻辑分支,处理每一种可能的输入情况。这种方式在处理确定性问题时非常高效,但在面对开放性、模糊性和需要创造性的任务时,就显得力不从心了。随着大语言模型(Large Language Models,简称LLM)的快速发展,我们迎来了智能体(Agent)时代。智能体系统不再依赖于硬编码的规则,而是以大语言模型为"大脑",具备理解自然语言、推理决策、调用工具和自主学习的能力。这种范式转变正在彻底改变我们构建软件的方式。然而,单一的大语言模型本身存在着明显的局限性,这正是LangChain框架诞生的背景。1.1.2 单一的大语言模型的局限性尽管GPT-4、Claude、DeepSeek等大语言模型在自然语言理解和生成方面展现出了惊人的能力,但单独使用它们来构建实用的AI应用时,会遇到以下几个核