"《LangChain与企业级LLM服务:从设计到部署》系统讲解如何基于LangChain构建企业级大语言模型应用。以LangChain 0.2为核心,结合OpenAI与开源模型,涵盖Prompt设计、Agent开发、LangServe部署及LangSmith调优等全流程,深入解析LangChain技术生态。 《LangChain与企业级LLM服务:从设计到部署》共13章。第1~3章介绍LLM基础、LangChain入门及核心模块(如Prompt模板、LCEL等);第4~7章通过企业文档平台、旅游客服、AI编程助手等案例,整合Agent、LangGraph等技术;第8章和第9章详解LangSmith监控调优与LangServe部署实战(含阿里云案例);第10~13章拓展生态展望(如AutoGen)、剖析商业案例,并专题解析国产DeepSeek模型及其与LangChain结合的开发实践。 《LangChain与企业级LLM服务:从设计到部署》适合高等院校计算机、人工智能等相关专业的学生阅读,以及对大语言模型应用、HuggingFace、LangChain技术感兴趣的研究人员和互联网研发工程师阅读参考。"
《LangChain与企业级LLM服务:从设计到部署》是一本引领读者深入人工智能前沿领域的学习参考书。《LangChain与企业级LLM服务:从设计到部署》不仅系统阐述了大型语言模型的基础理论,更通过丰富的企业级实战案例,展现了LangChain在实际应用中的强大威力。无论你是AI领域的初学者,还是寻求技术突破的资深开发者,这本书都将为你提供宝贵的知识和实践经验。它将成为你探索智能科技、驱动创新发展的得力助手。不要错过,让我们一起迈向智慧的明天!
前 言
随着OpenAI等AI技术的迅猛发展和全球普及,AI技术已成为各行各业关注的焦点。众多企业开始着手开发自己的大语言模型(LLM)应用,以保持竞争力。鉴于使用OpenAI等AI服务可能带来的数据隐私和安全风险,大型科技公司对于本地化部署大型模型的需求日益增长。LangChain作为开发LLM应用的首选框架,已被国内外众多公司广泛采用。
作为一名拥有超过十年行业经验的技术老兵,我始终保持对新兴技术的敏锐洞察力。早在2023年年初,我就注意到了LangChain框架和大型语言模型等前沿技术,并开始了系统的学习。在获得技术领导层的支持后,我在公司内部推动了LangChain技术的运用,成功孵化了多个基于大型语言模型的企业产品应用。这些项目中包括一些极具挑战性的复杂大型协作项目。在这个过程中,我不知不觉积累了大量关于基于LangChain的大型模型应用开发的经验,取得了一系列成果。这些成果不仅得到了公司内部用户的认可,也赢得了客户的喜爱和支持。
在深入学习LangChain的过程中,我注意到市面上关于基于LangChain的企业级开发资源相当稀缺。大多数教程仅仅停留在LangChain的基础知识和简单应用层面,缺乏对真实场景下应用落地和实际操作的深入探讨。这使得LangChain技术似乎一直停留在理论层面,难以在实际工作中发挥其应有的价值。
因此,我萌生了一个想法:撰写一本专注于企业实战的图书,希望能帮助那些渴望通过AI技术实现赋能的公司,顺利迈入大模型时代。这本书将填补市场上的空白,提供从理论到实践的全面指导,让LangChain技术真正落地,助力企业变革。
本书以实战为核心,通过逐步深入的方式,让读者全面掌握LangChain技术和大型语言模型的开发精髓。通过本书的学习,读者将能够灵活运用所学知识,开发出多样化的AI应用,并根据企业的业务特点,为企业服务注入新的活力和增长点。
考虑到本书以实战为主,笔者假设读者已具备一定的Python编程基础,并熟悉一些AI服务的使用(如OpenAI等)。如果读者之前从未接触过编程或者完全不熟悉Python,在阅读过程中,如果遇到难以理解的概念或技术点,可以利用这些AI服务作为辅助工具,帮助自己更好地学习和理解。这样的设计不仅能够提高学习效率,还能让读者在实践中加深对LangChain技术的理解,真正做到学以致用。
针对不同知识背景的读者,我有以下几条阅读建议:
(1)对于初次接触LangChain框架的读者,建议按照章节顺序阅读本书,系统地学习LangChain技术及其生态,并编写案例代码,这样才能真正理解如何开发LLM应用。
(2)对于已有一定LangChain使用经验的读者,可以根据自己感兴趣的实战章节,从第4章开始阅读,结合自己的业务构思新的解决方案。也可以将本书当作一本实践指南,边学习边实践,逐步领悟LangChain技术在实际应用中的精妙之处。
配套资源下载
本书配套源代码,请读者用微信扫描下面的二维码下载。如果学习本书的过程中发现问题或疑问,可发送邮件至booksaga@126.com,邮件主题为LangChain与企业级LLM服务:从设计到部署。
感谢在写作过程中家人的支持,特别是我的妻子,感谢她在周末陪伴我在家写作,在我沮丧困顿时给予我鼓励和包容。我记得,最后两个章节是在山中完成的,远山隐入如梦似幻的云海,霞光照亮了我来时的路。
在此,我还要感谢清华大学出版社的编辑老师们。他们的严谨与专业精神对我影响深远,他们的指导不仅让我受益匪浅,也极大地提升了本书的质量。在他们的帮助下,我得以细致打磨每一个章节,优化内容的每一个细节,使得本书的表述更加明晰、易于理解。这份成就离不开他们的悉心指导和无私帮助。
我衷心希望读者们在阅读本书后能够获得丰富的知识与技能,并让这本书成为你们身边的得力助手。LangChain以及其他大型语言模型技术正在不断地发展和迭代。让我们携手共进,在人工智能时代乘风破浪,共同探索技术的无限可能!
编 者
2025年6月25日
唐文,网络工程专业,个人研究方向为AI大模型和机器学习。毕业后先后就职于聚美优品、边锋领沃等国内外上市公司,目前供职于美国Global Payment集团的子公司活跃网络的技术部,担任高级软件工程师、后端Tech Leader。对Python、Golang、LangChain、LLM技术有着深入研究和实战经验。
目 录
第1章 拥抱大语言模型 1
1.1 大语言模型简介 1
1.1.1 大语言模型的定义 2
1.1.2 大语言模型的发展和应用场景 3
1.2 主流的大语言模型 5
1.2.1 OpenAI的大语言模型 5
1.2.2 Meta的Llama模型 7
1.2.3 Claude大语言模型 10
1.2.4 国内自研大语言模型:ChatGLM、MOSS和文心一言 12
1.3 大语言模型的开发工具LangChain 14
第2章 LangChain初体验 15
2.1 LangChain介绍和安装 15
2.1.1 什么是LangChain 15
2.1.2 环境搭建 16
2.1.3 LangChain的应用场景 20
2.2 小试牛刀:开发一个AI文章生成工具 21
2.2.1 初始化项目和配置 21
2.2.2 编写标题生成服务 23
2.2.3 编写文章生成服务 28
2.2.4 多链合并 30
2.3 LLM开发的工作原理和标准流程 33
第3章 LangChain基础模块 36
3.1 LangChain的核心概念 36
3.2 输入和输出组件 38
3.2.1 Prompt模板能力 39
3.2.2 ChatModel模块 46
3.2.3 自定义Chat Model 49
3.2.4 LLM模块的选择 50
3.2.5 输出解析器和自定义输出解析器 58
3.3 LCEL 61
3.3.1 管道操作 62
3.3.2 绑定参数的使用 64
3.3.3 invoke函数 66
3.3.4 stream函数 67
3.3.5 batch函数 67
3.4 Memory模块 68
3.5 基于输入的动态逻辑路由 71
3.5.1 RunnableLambda 72
3.5.2 RunnableBranch 73
3.6 检索 74
3.6.1 文档加载器 74
3.6.2 文本分割器 77
3.6.3 词嵌入模型 79
3.6.4 向量数据库 83
3.6.5 检索器 96
3.6.6 索引 100
第4章 企业文档智能平台实战 103
4.1 智能文档的架构设计和功能规划 103
4.2 文档加载和预处理 105
4.3 Embedding过程 108
4.4 vectorstore的选择 110
4.5 问答式检索器:QARetriever 113
4.6 自查询检索器:SelfQueryRetriever 116
4.7 多向量检索器:MultiVectorRetriever 120
4.8 多轮对话能力 126
4.9 优化会话内存管理 130
4.10 优化上下文和检索 132
第5章 旅游业AI客服实战 140
5.1 旅游服务的痛点 140
5.2 AI客服架构设计 141
5.3 Agent模块 144
5.3.1 Agent的基本概念 144
5.3.2 Agent的常用类型和实际使用场景 147
5.3.3 Agent Tools的使用 150
5.3.4 Agent和OpenAI整合 153
5.4 接入第三方天气API 156
5.5 第三方酒店预订API整合 161
5.6 LangGraph的使用 164
5.7 UI整合 168
5.8 本章小结 170
第6章 开发者AI Assistant实战 171
6.1 开发者的开发流程和新需求 171
6.1.1 瀑布流开发 171
6.1.2 Scrum开发 172
6.2 技术选型和架构设计 172
6.2.1 插件开发初体验 174
6.2.2 调试、编译和安装插件 176
6.3 常用Git操作的封装 177
6.3.1 自动生成注释 178
6.3.2 提交信息智能生成 181
6.3.3 智能rebase多次提交 184
6.4 基于代码仓库的智能问答和检索 188
6.4.1 加载文档 188
6.4.2 切分代码块 189
6.4.3 词嵌入和向量存储 189
6.4.4 问答功能 190
6.5 AI生成代码注释 191
6.6 文档生成 192
6.7 基于业务代码生成单元测试 193
6.8 代码漏洞检测和性能优化 195
第7章 AI代码审核实战 197
7.1 代码审核的重要性 197
7.2 AI如何进行代码审核和接入工作流 199
7.3 架构设计和场景设计 200
7.4 最佳实践预学习 201
7.5 介入合并冲突 207
7.6 客户端侧实现AI审核 208
7.7 Webhook实现AI代码审核 210
7.8 Pull Request驳回和通过的处理 213
7.9 生成代码质量报告 215
7.10 集成SonarQube 218
第8章 LangSmith实战 230
8.1 什么是LangSmith 230
8.1.1 LangSmith的基本概念 230
8.1.2 LangSmith的核心功能模块 231
8.1.3 自定义追踪设置 237
8.1.4 性能调优 240
8.2 离线方式评估LLM应用性能 242
8.3 CI交互式评估LLM应用性能 246
8.4 线上方式评估LLM应用性能 249
第9章 LangChain应用的部署实战 251
9.1 Docker方式部署 251
9.2 LangServe部署LLM应用 254
9.3 LangChain CLI 255
9.4 LangChain Templates的应用 257
9.5 案例:LangChain-Chatchat部署LLM应用 260
第10章 LangChain的生态和未来 265
10.1 LangChain生态现状 265
10.2 LangChain Hub 266
10.3 其他LLM开发框架:AutoGen 268
10.4 对LangChain的展望 273
第11章 AI商业创新 275
11.1 OpenAI的商业之路和创新 275
11.2 案例分析:Devv.ai 277
11.3 案例分析:MarsCode 280
第12章 国产之光:DeepSeek模型 283
12.1 后起之秀DeepSeek 283
12.2 DeepSeek模型系列 289
12.3 DeepSeek-R1模型 289
12.4 DeepSeek本地部署 290
12.4.1 Ollama方式部署 292
12.4.2 UI方案一:Open WebUI 293
12.4.3 UI方案二:ChatBox 296
12.5 DeepSeek云上部署 297
第13章 DeepSeek实战之编程助手 300
13.1 AI辅助编程的重要性 300
13.2 需求分析和技术架构设计 301
13.3 预学习 302
13.4 代码补全功能开发 314