内容简介
本书采用创新且实用的教学策略,巧妙融合理论基础与实践应用,深入剖析自然语言处理(Natural Language Processing,NLP)领域的新进展,以及大语言模型(Large Language Model,LLM)的原理。书中不仅系统阐述了 LLM 的理论基础,还通过实际项目案例展示了如何将这些模型应用于构建RAG系统。本书遵循由浅入深的路径,从LLM的基础知识入手,详细阐释了模型的训练流程,并深入探讨了如何利用提示技术与模型进行高效交互。书中还重点介绍了两个在业界得到广泛认可的框架—LlamaIndex和LangChain,它们是开发RAG应用的强大工具。书中的项目案例不仅为读者提供了宝贵的实践经验,也能够加深读者对相关概念的理解和应用。此外,书中进一步探讨了包括智能体和微调在内的高级技术,这些技术能够显著提升问答系统的性能。
精彩书评
本书是关于构建LLM应用的非常全面的教材,旨在帮助读者深入理解从基础理论到高级实践的各方面内容。书中所涉及的应用主题(包括提示技术、RAG、智能体、微调、部署与优化等),对应着AI工程师必备的核心技能。
—Jerry Liu,LlamaIndex联合创始人兼首席执行官
对于任何涉足LLM领域的人士而言,本书实为良好的参考指南。作者深入浅出地解析了各种复杂的概念,使之更易于被读者领悟和实践……本书是新老AI从业者藏书中的佳品良作。
—Shashank Kalanithi,Meta数据工程师
本书是为你量身打造的。书中包含详细的概念解释和实例代码,旨在帮助你快速使用和部署LLM,并提升其性能。强烈推荐!
—Luis Serrano,博士,Serrano.Academy创始人,Grokking Machine Learning作者
本书全面而深入地介绍了LLM的相关知识,以实用为导向,平衡了理论知识与应用知识。书中不仅提供了直观的概念解释、实例应用,还附有代码片段,对于那些期望迅速且高效地掌握该领域知识的读者而言,具有很高的参考价值。
—Jeremy Pinto,蒙特利尔学习算法研究所高级应用研究科学家
本书汇集了丰富的资源,自基础知识开始介绍,逐步引导读者深入理解LLM,涵盖从理论知识到编程实践,直至现代框架的应用等方面的内容。同时也对研究趋势和框架进行了深入分析,助力读者培养对未来技术发展方向的敏锐洞察力。极力推荐!
—Pete Huang,The Neuron联合创始人
若你有意将LLM应用于生产环境,本书将为你提供指导,助你洞悉这些模型的发展历程,包括从基础的Transformer到更为先进的高级RAG。本书内容深入浅出,囊括众多实践项目,你可以轻松复制、粘贴代码并在本地设备中运行,亲身体验现代AI技术的魅力。
—Rafid Al-Humaimidi,AWS(Amazon Web Service)高级软件工程师
作为一名致力于追求提示工程和生成式AI领域术语规范性的研究者,我对本书的全面性感到惊叹。Towards AI出色地整合了现代生成式AI应用实践者所需的技术资源。
—Sander Schulhoff,Learn Prompting创始人兼首席执行官
本书能够帮助个人和企业充分利用LLM的潜力,不仅展示了如何运用新的AI模型及库来打造功能强大的工具,还介绍了如何有效规避当前技术应用中的潜在陷阱……对于任何希望构建LLM产品的人士而言,本书实为良好的参考读物。
—Ken Jee,数据科学主管和播客主持人(Ken’s Nearest Neighbors,Exponential Athlete)
本书详细地提供了从基础到深入的概念解释、实例及全面的细节。Louis与Towards AI团队共同撰写了这部针对开发者的专著,旨在帮助读者拓展AI领域的专业知识,并将其应用于实际项目。本书必将成为个人及技术团队书架上非常有益的参考资料。
—Alex Volkov,Weights & Biases的AI布道者兼ThursdAI.news主持人
本书深入探讨了LLM的核心内容,包括其历史演变过程,并为未来的AI工程师提供了能够使他们在专业领域脱颖而出的工具和技术。本书将带领读者深入研究提示工程、智能体、SFT、RLHF及量化等重要且具有挑战性的主题。
—Greg Coquillo,AI产品负责人,LinkedIn达人
对致力于开发面向客户的LLM应用的专业人士而言,本书是一本实用的阅读材料,也可视为AI工程领域的学习指南。书中提供了诸多实际应用案例,涵盖了?RAG?及提示工程等诸多方面。诚挚建议,不妨亲自翻阅此书。
—Ahmed Moubtahij,工程师,自然语言处理科学家/机器学习工程师
本书是一份内容详细的指导手册(包含代码示例),全面介绍了从架构基础到提示工程、微调、RAG、构建智能体等关键内容。
—Letitia Parcalabescu,NLP博士候选人,YouTube主播
本书全面且均衡地涵盖了LLM的基础知识,成功地在理论与实践之间找到了恰当的平衡……不论AI领域如何演进,此书无疑将成为我反复阅读的宝贵资料。
—Tina Huang,Lonely Octopus创始人,YouTube主播,Meta前员工
本书对LLM落地过程中遇到的实际问题进行了深入分析,并提供了多种解决方案。强烈建议阅读!
—Nick Singh,DataLemur网站创始人,Ace the Data Science Interview作者
在人工智能领域从业的数年中,我亲身体验了高等教育课程与业界实际需求之间的显著差异。本书完整覆盖了这一领域的知识体系,内容涵盖从Transformer到高级RAG部署的全流程。对致力于行业应用的人工智能工程师而言,本书实为良好的参考读物。
—Jack Blandin,Lambda League创始人,高级机器学习工程师
目录
第 1章 LLM简介 1
1.1 语言模型简史 1
1.2 什么是LLM 2
1.3 LLM的组成 2
1.3.1 Transformer 2
1.3.2 语言建模 3
1.3.3 分词 3
1.3.4 嵌入 4
1.3.5 训练/微调 5
1.3.6 预测 5
1.3.7 上下文窗口 5
1.3.8 规模法则 6
1.3.9 提示词 7
1.3.10 LLM中的涌现能力及测试基准 7
1.3.11 LLM简史 9
1.3.12 项目:使用LLM(GPT-3.5 API)进行翻译 13
1.3.13 项目:通过小样本学习来控制LLM的输出 14
1.4 本章小结 16
第 2章 LLM架构和概况 17
2.1 理解Transformer 17
2.1.1 论文“Attention Is All You Need” 17
2.1.2 架构实战 21
2.2 Transformer架构的设计选择 24
2.2.1 编码器-解码器架构 24
2.2.2 仅编码器架构 26
2.2.3 仅解码器架构 28
2.2.4 Transformer架构的优化技术 30
2.3 生成式预训练Transformer(GPT)架构 31
2.3.1 掩码自注意力 31
2.3.2 GPT的训练过程 31
2.3.3 MinGPT 32
2.4 LMM简介 33
2.4.1 常见架构和训练目标 33
2.4.2 开源版本的Flamingo 34
2.4.3 指令微调的LMM 35
2.4.4 探索LLaVA—一个指令微调的LMM 36
2.4.5 超越视觉和语言 36
2.5 专有模型vs.开放模型vs.开源模型 37
2.5.1 Cohere LLM 37
2.5.2 OpenAI的GPT-3.5 turbo、GPT-4o和GPT-4o mini 38
2.5.3 Anthropic的Claude 3模型 38
2.5.4 Google DeepMind的Gemini 39
2.5.5 Meta的LLaMA 2 39
2.5.6 Mistral LLM 40
2.6 LLM的应用和示例 41
2.6.1 商业与职业 41
2.6.2 法律与合规 42
2.6.3 医疗保健和健康 42
2.6.4 教育与研究 43
2.6.5 媒体与娱乐 43
2.6.6 技术与软件 43
2.6.7 个人发展与生活方式 44
2.6.8 金融与投资 45
2.6.9 运动与健康 45
2.6.10 其他 46
2.6.11 使用LLM的风险和伦理考量 46
2.7 本章小结 46
第3章 LLM实践 48
3.1 理解幻觉和偏见 48
3.1.1 通过控制输出减轻LLM的幻觉 49
3.1.2 解码方法 51
3.1.3 微调LLM 52
3.2 LLM性能评估 54
3.2.1 目标函数和评估指标 54
3.2.2 内在指标:困惑度 55
3.2.3 外部指标:基准测试 56
3.3 本章小结 58
第4章 提示技术简介 59
4.1 提示词和提示工程 59
4.2 提示技术 63
4.2.1 零样本提示 63
4.2.2 上下文学习和小样本提示 63
4.2.3 角色提示 64
4.2.4 链式提示 65
4.2.5 思维链提示 65
4.3 提示注入与安全 66
4.4 本章小结 68
第5章 RAG 70
5.1 为什么使用RAG 70
5.2 嵌入向量 71
5.3 向量数据库与向量存储 72
5.4 从头构建一个RAG管道 73
5.4.1 数据预处理 73
5.4.2 生成嵌入向量 75
5.4.3 查找相关文本块 76
5.4.4 测试余弦相似度 77
5.4.5 相似度计算实战 77
5.4.6 提示词增强 79
5.5 本章小结 82
第6章 LangChain和LlamaIndex简介 83
6.1 LLM框架 83
6.2 LangChain介绍 83
6.3 项目1:使用LangChain构建LLM驱动的应用 86
6.3.1 提示模板 86
6.3.2 摘要链示例 87
6.3.3 问答链示例 88
6.4 项目2:构建新闻文章摘要器 89
6.5 LlamaIndex介绍 94
6.5.1 数据连接器 94
6.5.2 节点 95
6.5.3 索引 96
6.5.4 查询引擎 98
6.5.5 路由器 98
6.5.6 保存和加载本地索引 99
6.6 LangChain、LlamaIndex与OpenAI Assistants 99
6.7 本章小结 101
第7章 使用LangChain进行提示 102
7.1 LangChain提示模板 102
7.2 小样本提示和样例选择器 107
7.2.1 人类与AI的信息交互 108
7.2.2 小样本提示 108
7.2.3 样例选择器 110
7.3 LangChain链 114
7.3.1 使用LLMChain生成文本 114
7.3.2 在会话链中增加记忆 115
7.3.3 使用顺序链连接链 116
7.3.4 调试链 116
7.3.5 定制链 117
7.4 项目1:使用输出解析器管理输出 118
7.5 项目2:新闻文章摘要器的改进 127
7.6 项目3:基于文本数据创建知识图谱—揭示隐藏的连接 133
7.6.1 使用LangChain构建知识图谱 134
7.6.2




















