《LangChain技术解密:构建大模型应用的全景指南》共10章,分别介绍了LangChain的开发环境搭建、模型、提示、数据连接、链、记忆、代理、回调及周边生态等内容,并用三个案例,即基于Streamlit实现聊天机器人、基于Chainlit实现PDF问答机器人、零代码AI应用构建平台Flowise,将前面大语言模型的内容学以致用。通过本书,读者既能提升自身的技术素养,又能拓展自己解决实际难题的能力。
《LangChain技术解密:构建大模型应用的全景指南》适合刚入门或想加入AI行业的技术从业者、需要结合大语言模型相关技术为业务赋能的产品经理、计算机相关专业的学生,以及AI爱好者和自学者。
王浩帆,从事影视及游戏相关流程开发十余年,长期关注并探索大语言模型及其他人工智能技术在影视及游戏行业的应用落地。作为开源技术爱好者和LangChain Contributer,不仅积极为LangChain等开源项目贡献力量,也致力于开发个人的开源项目。
2024年,人工智能走向大众化的序幕已经拉开。无论是声势浩大的大语言模型,还是AI绘图领域的佼佼者,如Stable Diffusion与Midjourney,皆已成为潮流之巅的焦点。其中,大语言模型尤为瞩目,其作为一颗闪耀着智慧之光的“大脑”,已广泛融入人们生活的各个场景。在这一背景下,LangChain应运而生,这一建立在大语言模型之上的框架,让快速开发AI应用成为可能,其影响力也正逐步扩大。LangChain不仅为开发人员提供了大量的现成工具,同时受益于其广泛的用户群体,很多尖端、具有实验性质的工具也相继被纳入其中。这使得开发人员不仅能够运用那些已极为成熟的资源去构建应用,同时能够借助那些集成的工具,迅速洞悉并尝试大语言模型的最新技术。
目前,LangChain已成为进行大语言模型应用开发必须掌握的框架之一。随着时间的推移,LangChain已不再仅仅是一个大语言模型开发框架,而是演化为一个包含开发、调试、部署乃至应用商店的一站式完整生态圈。
与此同时,LangChain社区的快速壮大,正是其日益蓬勃发展的最佳见证。正值大语言模型开发以潮涌之势席卷而来之际,越来越多的开发人员对于怎样利用LangChain迅速构建AI应用产生了浓厚的兴趣。
在这样的背景下,本书应运而生。本书不只为求知者呈上LangChain的详尽开发指南,更是以其中的诸多知识为轴心,向外扩散,深度阐述其背后的原理之美,甚至于途中不吝对基础知识进行浅释,使读者在领会“其然”的同时,也能参透“其所以然”。
本书结构
本书以五大核心要旨,即模型的输入与输出(Model I/O)、检索增强生成(RAG)技术、代理(Agent)技术、其他知识及完整案例实践为主线,精心编排为10章,详细展开阐释:
第1章介绍了当前大语言模型的发展,并且从是什么、为什么使用、为何使用、应用场景四个维度对LangChain进行了全面解读。
第2章细述了进行LangChain开发前的各项准备工作,包括安装LangChain库、获取OpenAI API Key、搭建开发环境等,旨在帮助开发者扫清这部分的障碍。
第3章对Model I/O的Model(模型)部分进行了讲解。不仅讲解了LangChain Model的使用,还对最常用的OpenAI相关的API及参数进行了深入讲解。
第4章主要讲解了Model I/O的I/O部分。在输入部分,不仅讲解了LangChain的提示词模板,还对提示词工程进行了讲解,使读者可以借助LangChain写出更优秀的提示词。在输出部分,对大量的输出解析器进行了讲解及应用。
第5~7章:这部分重点阐释了检索增强生成(RAG)技术的原理与应用,内容涵盖了加载器、转换器、向量存储、检索器、链及记忆等关键组件的用法和高阶操作技巧。
第8章主要对代理(Agent)技术的原理和应用进行了深入讲解,也对LangGraph多智能体框架进行了介绍。
第9章对LangChain其他组件及周边生态进行了讲解,如回调、安全与隐私、评估、追踪调试平台LangSmith、部署框架LangServe、应用模板商店LangChain Templates等。
第10章旨在指导读者从零开始逐步构建并部署应用,完成两个完整的人工智能应用开发项目,以及学习LangChian的零代码AI应用构建平台Flowise。读者不仅可以通过此过程巩固学习成果,而且可以将所学知识用于打造专属的应用。
本书面向的读者
本书深入浅出地讲解了丰富的前置知识和基本理论,因为LangChain在本质上是一个便于AI应用开发的框架,所以本书以应用开发实践为主,未涉及大语言模型的底层原理和相关晦涩的数学公式。
本书适合刚入门或想加入AI行业的技术从业者、需要结合大型语言模型相关技术为业务赋能的产品经理、计算机相关专业的学生,以及AI爱好者和自学者。
本书特色
(1)内容全面更新,融入了新版本特性和新动态。本书深入探讨了LangChain的全新表达式语言、LangGraph、LangSmith、LangServe及LangChain Templates,并精研了一系列全新的API,例如Assistant Agent Type。
(2)系统讲解,细节丰富。本书将相关的前置知识嵌入相应的章节中,确保读者能够按部就班地掌握从理论到实践的知识。
(3)本书的结构设计让内容自然衔接,避免了在章节之间跳来跳去的阅读方式,不需要在搜索引擎中寻找相关概念。我们追求的不只是对官方文档的讲解,更是对整个LangChain运行逻辑的深入讲解,以及对LangChain先进思想的学习。
(4)涵盖LangChain的深度内容。除了基础知识,本书还深入介绍了LangChain的隐私与安全、评估等高级主题,这些内容在市面上的其他资料中几乎未被触及。
(5)提供了丰富的实例代码和结果截图。本书中的所有代码都经过严格测试,尽可能确保正常运行,这一点与LangChain文档中仅提供部分代码的做法形成鲜明对比,大大减少了读者在实践本书中的代码时的调试工作。
(6)书中每个章节的代码均在GitHub中提供,读者可以很方便地独立运行对应的代码片段来学习。
代码与参考资料
本书示例代码位于GiTHub的langchain-course页面,请在GitHub中搜索langchain-course,在搜索的结果页面左侧选择Users,即可看到本书相关的代码仓库组织。读者可以从此处获取示例代码及运行代码的相关说明。也可以扫描封底二维码获取本书配套代码资源和相关链接。
第1章的部分内容参考了《LangChain系列-01是什么》和《大语言模型的演进》两篇文章。第5章的部分内容参考了How do domain-specific chatbots work? An Overview of Retrieval Augmented Generation(RAG)一文。感谢这些资料为笔者撰写本书提供的思路和启发。
勘误和支持
若您在阅读本书的过程中有任何问题或建议,可以通过本书源码仓库提交Issue或者PR,也可以通过仓库中提供的微信二维码加入微信群与作者进行交流。我们十分感谢并重视您的反馈,会对您提出的问题、建议进行梳理与反馈,并在本书后续版本中及时做出勘误与更新。