新書推薦:
《
攀龙附凤:北宋潞州上党李氏外戚将门研究(增订本)宋代将门百年兴衰史
》
售價:NT$
454.0
《
金钱的力量:财富流动、债务、与经济繁荣
》
售價:NT$
454.0
《
超越想象的ChatGPT教育:人工智能将如何彻底改变教育 (土耳其)卡罗琳·费尔·库班 穆罕默德·萨欣
》
售價:NT$
352.0
《
应对百年变局Ⅲ:全球治理视野下的新发展格局
》
售價:NT$
398.0
《
咖啡烘焙师:CCR数据化咖啡烘焙实战
》
售價:NT$
347.0
《
前端工程化——体系架构与基础建设(微课视频版)
》
售價:NT$
454.0
《
《诗经》全注全译全本彩图 全书系列50万册焕新升级典藏纪念版
》
售價:NT$
2545.0
《
道义与天下:中国知识分子精神的古代源流与当代塑造
》
售價:NT$
407.0
編輯推薦:
你将学到:
?探索LLM架构的核心组件,包括编码器-解码器模块与嵌入模块
?理解GPT-3.5/4、Llama 2和Falcon LLM等大模型的独特功能
?使用LangChain等AI编排器,结合Streamlit构建前端
?熟悉LLM组件(如记忆模块、提示工程与工具链)
?掌握非参数化知识与向量数据库的应用
?洞察LFM对AI研究与行业应用的深远影响
?通过微调定制专属LLM
?了解LLM应用背后的伦理挑战
內容簡介:
《大模型Agent应用开发》深入探讨了LLM的核心概念、前沿技术和实际应用,最终为扩展AI能力边界的大型基础模型(Large Foundation Models,LFM)的崛起铺平道路。
本书开篇详细介绍了LLM的基本原理,随后探讨了多种主流架构框架,既涵盖专有模型(如GPT-3.5/4),也分析开源模型(如Falcon LLM)的独特优势与差异。接下来,我们以基于Python的轻量级框架LangChain为核心,引导读者逐步构建智能体。这些智能体能够从非结构化数据中提取信息,并利用LLM和强大工具包与结构化数据交互。此外,本书还将深入探索LFM领域——该类模型融合了视觉、音频等多态能力,可以覆盖更广泛的AI任务。
无论你是经验丰富的AI专家,还是初入该领域的新人,本书都将为你提供解锁LLM全部潜力的路线图,助力开创智能机器的新纪元。
關於作者:
Valentina Alto是一名人工智能爱好者、技术文献作者和跑步健将。在拿到数据科学硕士学位后,她于2020年加入微软,目前担任人工智能专家。Valentina从求学之初就对机器学习和人工智能充满热情,她不断加深对这一领域的了解,并在科技博客上发表了数百篇文章。她与Packt合作撰写了第一本书,名为Modern Generative AI with ChatGPT and OpenAI Models。在目前的工作中,她与大型企业合作,旨在将人工智能整合到企业业务中,并利用大型基础模型开发创新解决方案。
除了职业追求,Valentina还热爱徒步于意大利美丽的山川之间,喜欢跑步、旅行,并乐于手捧好书,品一杯香浓的咖啡。
目錄 :
第1章 大规模语言模型简介 1
1.1 大型基础模型和大规模语言模型定义 2
1.1.1 人工智能范式转变——基础模型简介 2
1.1.2 大规模语言模型简介 5
1.2 最流行的基于transformer架构的大规模语言模型 10
1.2.1 早期实验 11
1.2.2 transformer架构 11
1.3 训练和评估大规模语言模型 16
1.3.1 训练大规模语言模型 16
1.3.2 模型评估 19
1.4 基础模型与定制模型 21
1.5 小结 23
1.6 参考文献 23
第2章 面向人工智能应用的大规模语言模型 25
2.1 大规模语言模型如何改变软件开发 25
2.2 Copilot系统 26
2.3 引入人工智能编排器,将大规模语言模型嵌入应用程序 30
2.3.1 人工智能编排器的主要组成部分 31
2.3.2 LangChain 33
2.3.3 Haystack 35
2.3.4 语义内核 36
2.3.5 如何选择框架 38
2.4 小结 39
2.5 参考文献 40
第3章 为应用选择大规模语言模型 41
3.1 市场上最有前途的大规模语言模型 41
3.1.1 专有模型 42
3.1.2 开源模型 51
3.2 语言模型之外 56
3.3 选择正确大规模语言模型的决策框架 60
3.3.1 考虑因素 60
3.3.2 案例研究 62
3.4 小结 63
3.5 参考文献 63
第4章 提示工程 65
4.1 技术要求 65
4.2 提示工程的定义 66
4.3 提示工程原则 66
4.3.1 明确的指令 66
4.3.2 将复杂任务划分为子任务 69
4.3.3 询问理由 71
4.3.4 生成多个输出,然后使用模型挑选最佳输出 73
4.3.5 结尾处的重复指令 74
4.3.6 使用分隔符 76
4.4 高级技术 78
4.4.1 少样本方法 78
4.4.2 思维链 81
4.4.3 ReAct 83
4.5 小结 86
4.6 参考文献 87
第5章 在应用程序中嵌入大规模语言模型 88
5.1 技术要求 88
5.2 LangChain的简要说明 89
5.3 开始使用LangChain 90
5.3.1 模型和提示 91
5.3.2 数据连接 93
5.3.3 记忆 99
5.3.4 链 101
5.3.5 智能体 105
5.4 通过Hugging Face Hub使用大规模语言模型 107
5.4.1 创建Hugging Face用户访问令牌 107
5.4.2 在.env文件中存储密钥 110
5.4.3 启用开源大规模语言模型 110
5.5 小结 112
5.6 参考文献 112
第6章 构建会话应用程序 113
6.1 技术要求 113
6.2 会话应用程序入门 114
6.2.1 创建普通机器人 114
6.2.2 添加记忆 116
6.2.3 添加非参数知识 119
6.2.4 添加外部工具 122
6.3 使用Streamlit开发前端 125
6.4 小结 129
6.5 参考文献 129
第7章 使用大规模语言模型的搜索引擎和推荐引擎 130
7.1 技术要求 130
7.2 推荐系统简介 131
7.3 现有推荐系统 132
7.3.1 K最近邻 132
7.3.2 矩阵因式分解 133
7.3.3 神经网络 136
7.4 大规模语言模型如何改变推荐系统 138
7.5 实现由大规模语言模型驱动的推荐系统 139
7.5.1 数据预处理 140
7.5.2 在冷启动场景中构建QA推荐聊天机器人 143
7.5.3 构建基于内容的推荐系统 149
7.6 使用Streamlit开发前端 153
7.7 小结 156
7.8 参考文献 156
第8章 使用结构化数据的大规模语言模型 157
8.1 技术要求 157
8.2 结构化数据的定义 158
8.3 关系数据库入门 159
8.3.1 关系数据库简介 160
8.3.2 Chinook数据库概述 161
8.3.3 如何在Python中使用关系数据库 162
8.4 使用LangChain实现DBCopilot 166
8.4.1 LangChain智能体和SQL智能体 167
8.4.2 提示工程 170
8.4.3 添加更多工具 173
8.5 使用Streamlit开发前端 176
8.6 小结 179
8.7 参考文献 180
第9章 使用大规模语言模型生成代码 181
9.1 技术要求 181
9.2 为代码选择合适的大规模语言模型 182
9.3 代码理解和生成 183
9.3.1 Falcon LLM 184
9.3.2 CodeLlama 187
9.3.3 StarCoder 190
9.4 像算法一样行动 194
9.5 利用代码解释器 200
9.6 小结 206
9.7 参考文献 206
第10章 使用大规模语言模型构建多模态应用 208
10.1 技术要求 208
10.2 为什么是多模态 209
10.3 使用LangChain构建多模态智能体 211
10.4 方案1:使用Azure AI服务的开箱即用工具包 211
10.5 方案2:将单一工具整合到一个智能体中 225
10.5.1 YouTube工具和Whisper 225
10.5.2 DALL-E和文本生成 227
10.5.3 将所有工具整合在一起 229
10.6 方案3:使用序列链的硬编码方法 233
10.7 三种方案的比较 236
10.8 使用Streamlit开发前端 237
10.9 小结 239
10.10 参考文献 239
第11章 微调大规模语言模型 240
11.1 技术要求 241
11.2 微调定义 241
11.3 何时微调 244
11.4 开始微调 245
11.4.1 获取数据集 245
11.4.2 词元化数据 246
11.4.3 微调模型 249
11.4.4 使用评估指标 250
11.4.5 训练和保存 253
11.5 小结 256
11.6 参考文献 257
第12章 负责任的人工智能 258
12.1 什么是负责任的人工智能,为什么需要它 258
12.2 负责任的人工智能架构 260
12.2.1 模型层 260
12.2.2 元提示层 263
12.2.3 用户界面层 264
12.3 有关负责任的人工智能的法规 267
12.4 小结 268
12.5 参考文献 269
第13章 新兴趋势和创新 270
13.1 语言模型和生成式人工智能的最新发展趋势 270
13.1.1 GPT-4V 271
13.1.2 DALL-E 3 272
13.1.3 AutoGen 273
13.1.4 小型语言模型 274
13.2 拥抱生成式人工智能技术的公司 275
13.2.1 Coca-Cola 275
13.2.2 Notion 275
13.2.3 Malbek 276
13.2.4 微软 277
13.3 小结 278
13.4 参考文献 279
內容試閱 :
本书开启了探索大规模语言模型(Large Language Model,LLM)及其在人工智能(Artificial Intelligence,AI)领域所代表的变革性范式之旅。这本全面的指南可以帮助你深入了解基本概念,从这些前沿技术的坚实理论基础到大规模语言模型的实际应用,最终汇聚到使用生成式人工智能解决方案时的伦理和责任考量。本书旨在帮助你深入了解市场上新兴的大规模语言模型如何影响个人、大型企业乃至整个社会。本书重点介绍如何利用LangChain等新型人工智能编排器构建由大规模语言模型驱动的强大应用,并揭示现代应用开发的新趋势。
阅读完本书后,相信你定能更轻松驾驭快速发展的生成式人工智能解决方案生态系统,并掌握在日常任务和业务中充分利用大规模语言模型的工具。让我们开始吧!
本书读者对象
本书主要面向有一定Python代码基础的技术读者。但理论章节和实践练习基于生成式人工智能基础知识和行业用例,非技术读者可能也会感兴趣。
总之,本书适合有兴趣全面了解大规模语言模型的读者,可辅助其充满信心和前瞻性地驾驭快速发展的人工智能领域。本书所呈现的内容适合但不仅限于以下读者。
●软件开发人员和工程师:本书为希望利用大规模语言模型构建应用的开发人员提供了实用指导。内容包括将大规模语言模型集成到应用后端、API、架构等。
●数据科学家:本书为有兴趣将大规模语言模型部署到实际应用中的数据科学家介绍了如何将模型从研究阶段应用到生产阶段。内容包括模型服务、监控和优化等方面。
●人工智能/机器学习工程师:专注于人工智能/机器学习应用的工程师可以利用本书了解如何构建和部署大规模语言模型,并将其作为智能系统和智能体的一部分。
●技术创始人/CTO:初创公司的创始人和CTO可以利用本书评估是否以及如何在其应用和产品中使用大规模语言模型。本书在提供技术概述的同时,还考虑了业务因素。
●在校学生:学习人工智能、机器学习、自然语言处理(Natural Language Processing,NLP)或计算机科学的研究生和高年级本科生可以从本书中了解大规模语言模型在实践中的应用。
●大规模语言模型研究人员:研究新型大规模语言模型架构、训练技术等的研究人员将深入了解真实世界中模型的用法和相关挑战。
本书内容
第1章介绍并深入探讨大规模语言模型,这是生成式人工智能领域中一套强大的深度学习神经网络。本章不仅介绍了大规模语言模型概念,其与经典机器学习模型的区别,以及相关术语,还讨论了最流行的大规模语言模型采用的架构,如何训练和使用大规模语言模型,并比较了基础大规模语言模型与经过微调的大规模语言模型。完成第1章的学习后,读者便可了解什么是大规模语言模型及其在人工智能领域的定位,从而为后续章节的学习奠定基础。
第2章探讨大规模语言模型如何彻底改变软件开发世界,从而引领人工智能驱动的应用进入新时代。本章可帮助读者更清楚地了解如何借助目前人工智能开发市场上的新型人工智能编排器框架,将大规模语言模型嵌入不同的应用场景中。
第3章重点介绍不同的大规模语言模型可能具有不同的架构、规模、训练数据、功能和限制。为自己的应用场景选择合适的大规模语言模型并不是一件简单的事情,毕竟它会对解决方案的性能、质量和成本产生重大影响。这一章将介绍如何为应用场景选择合适的大规模语言模型,并讨论市场上最有前景的大规模语言模型、比较大规模语言模型时使用的主要标准和工具,以及规模和性能之间进行的各种权衡。阅读完本章后,读者便可清楚地了解如何为自己的应用场景选择合适的大规模语言模型,以及如何有效、负责任地使用它。
第4章介绍了在设计由大规模语言模型驱动的应用时,提示工程是一项至关重要的活动,原因是提示对大规模语言模型的性能有很大影响。事实上,有几种技术不仅可以重新微调大规模语言模型的响应,还可以降低与幻觉和偏差相关的风险。这一章中介绍的提示工程领域采用的新兴技术,更是涉及从基本方法到高级框架的描述。完成本章的学习后,读者将具备为大规模语言模型驱动的应用构建功能强大的提示的能力,并为接下来的章节学习打下坚实的基础。
第5章讨论随着使用大规模语言模型开发的应用的出现,软件开发领域所引入的一系列新组件。为了更方便地在应用流程中编排大规模语言模型及其相关组件,出现了几个人工智能框架,其中LangChain是应用最广泛的框架之一。这一章将深入了解LangChain及其使用方法,学习如何通过Hugging Face Hub将开源大规模语言模型API调用到代码中,并管理提示工程。完成本章的学习后,读者将具备开始使用LangChain和开源Hugging Face模型开发由大规模语言模型驱动的应用的技术基础。
第6章开始介绍实践部分,首次具体实现由大规模语言模型驱动的应用。使用LangChain及其组件逐步实现会话应用程序。配置一个简单聊天机器人对应的模式,添加记忆组件、非参数知识和工具,使聊天机器人“智能体化”。最后,用几行代码帮助读者建立自己的会话应用程序项目。
第7章探讨了大规模语言模型如何利用嵌入和生成模型来增强推荐系统。将讨论推荐系统的定义和演变,了解生成式人工智能如何影响这一研究领域,并讲解如何使用LangChain来构建推荐系统。最后,读者将能够创建自己的推荐应用程序,并使用LangChain作为框架以利用最先进的大规模语言模型。
第8章介绍大规模语言模型具有的一项强大功能:处理结构化表格数据的能力。讲解如何利用插件和智能体方法,将大规模语言模型用作与结构化数据之间的自然语言接口,从而缩小业务用户与结构化信息之间的差距。为了演示这一点,将使用LangChain建立一个数据库Copilot编程工具。最后,读者将能够为自己的数据资产构建一个自然语言接口,并将非结构化数据和结构化数据结合起来。
第9章涉及大规模语言模型具有的另一项强大功能:生成编程语言。在第8章中,当要求大规模语言模型针对SQL数据库生成SQL查询时,这一能力的雏形就已渐显。这一章将探讨使用大规模语言模型生成代码的其他方式,涵盖从“简单”的代码理解和生成到使用算法来构建应用程序行为。最后,读者将能够为自己的编码项目构建由大规模语言模型驱动的应用,以及构建带有自然语言接口的大规模语言模型驱动的应用,以便与代码配合使用。
第10章超越了大规模语言模型的范畴,在构建智能体时引入了多模态的概念。它涉及将不同人工智能领域(语言、图像、音频)的基础模型组合成一个能胜任各种任务的单一智能体时背后所蕴含的逻辑。其中还讲解了如何使用LangChain,以便用单模态大规模语言模型来构建多模态智能体。最后,读者将能够构建自己的多模态智能体,并为其提供执行各种人工智能任务时所需用到的工具和大规模语言模型。
第11章介绍了微调大规模语言模型的技术细节,涵盖从其理论基础到使用Python和Hugging Face的实际操作。将深入探讨如何准备数据,在数据上微调基础模型,并讨论微调模型的托管策略。最后,读者将能够在自己的数据上微调大规模语言模型,从而构建由该大规模语言模型驱动的特定领域应用。
第12章介绍了用于减轻大规模语言模型(以及一般人工智能模型)潜在危害所需具备的学科基础知识,即负责任的人工智能。这一点非常重要,因为在开发由大规模语言模型驱动的应用时,大规模语言模型会带来一系列新的风险和偏见。
接下来,将讨论与大规模语言模型相关的风险,以及如何使用合适的技术来防止或至少降低这些风险。最后,你将对如何防止大规模语言模型使所构建的应用程序具有潜在危害性有更深入的了解。
第13章探讨了生成式人工智能领域的最新进展和未来发展趋势。
充分利用本书
本书旨在提供一个坚实的理论基础,帮助读者了解什么是大规模语言模型、大规模语言模型的架构以及大规模语言模型会给人工智能领域带来革命性变化的原因。本书主要以动手实践为主题,逐步指导读者针对特定任务实现由大规模语言模型驱动的应用,并使用LangChain等功能强大的框架。此外,每个示例都会展示各种大规模语言模型的用法,以帮助读者了解其不同之处,以及何时为特定任务使用合适的模型。
总之,本书将理论概念与实际应用紧密结合,希望在大规模语言模型及其在NLP中的应用方面为读者打下坚实基础,并提供理想资源。以下是从本书中获得最大收益的前提条件:
●对神经网络背后蕴含的数学机理(线性代数、神经元和参数以及损失函数)有基本了解
●对机器学习概念(如训练集和测试集、评估指标和NLP)有基本了解
●对Python有基本了解
下载示例代码与彩色图片
本书相关的所有示例代码文件均可从本书配套的GitHub仓库下载,网址为https://github.com/PacktPublishing/Building-LLM-Powered-Applications。本书还提供了一个PDF,其中包含书中使用的彩色图片,可以通过网址https://pack.link/gbp/9781835462317下载。另外,读者也可通过扫描本书封底的二维码下载这些示例代码与彩色图片。