目 录
第1章 生成式AI的崛起:从语言模型到智能体 1
1.1 现代LLM的发展现状 2
1.1.1 模型对比 3
1.1.2 LLM提供商生态 4
1.1.3 许可授权 5
1.2 从模型到Agentic应用 6
1.2.1 传统LLM的局限性 6
1.2.2 理解LLM应用 7
1.2.3 理解AI智能体 8
1.3 LangChain框架介绍 10
1.3.1 原始LLM所面临的挑战 11
1.3.2 LangChain如何支持智能体开发 12
1.3.3 探索LangChain架构 12
1.4 本章小结 17
1.5 思考题 17
第2章 LangChain的初步实践 19
2.1 设置依赖环境 19
2.2 探索LangChain构建块 24
2.2.1 模型接口 24
2.2.2 提示与模板 30
2.2.3 LCEL 31
2.3 运行本地模型 36
2.3.1 Ollama入门 37
2.3.2 在本地使用Hugging Face模型 37
2.3.3 本地模型使用提示 38
2.4 多模态AI应用 40
2.4.1 文本到图像 41
2.4.2 图像理解 43
2.5 本章小结 47
2.6 思考题 47
第3章 使用LangGraph构建工作流 49
3.1 LangGraph基础 49
3.1.1 状态管理 50
3.1.2 reducer 53
3.1.3 使图可配置 54
3.1.4 受控输出生成 55
3.2 提示工程 61
3.2.1 提示模板 62
3.2.2 零样本提示与少样本提示 63
3.2.3 CoT 65
3.2.4 自洽性 67
3.3 处理较短的上下文窗口 67
3.4 理解记忆机制 70
3.4.1 裁剪聊天历史 70
3.4.2 将历史记录保存至数据库 71
3.4.3 LangGraph检查点 73
3.5 本章小结 75
3.6 思考题 75
第4章 构建智能RAG系统 77
4.1 从索引到智能检索 77
4.2 RAG系统的组件 79
4.3 从嵌入到搜索 81
4.3.1 嵌入 82
4.3.2 向量存储 83
4.3.3 向量索引策略 87
4.4 分解RAG管道 92
4.4.1 文档处理 93
4.4.2 高级RAG技术 101
4.5 开发企业文档聊天机器人 116
4.5.1 文档加载 117
4.5.2 语言模型设置 119
4.5.3 文档检索 119
4.5.4 设计状态图 121
4.5.5 使用Streamlit集成构建用户界面 125
4.5.6 评估与性能考量 127
4.6 RAG系统故障排除 128
4.7 本章小结 129
4.8 思考题 129
第5章 构建智能智能体 131
5.1 什么是工具 132
5.1.1 LangChain中的工具 134
5.1.2 ReACT 136
5.2 定义工具 139
5.2.1 内置的LangChain工具 139
5.2.2 自定义工具 145
5.2.3 错误处理 150
5.3 高级工具调用功能 152
5.4 将工具整合到工作流中 153
5.4.1 受控生成 153
5.4.2 ToolNode 155
5.4.3 工具调用范式 156
5.5 什么是智能体 157
5.6 本章小结 161
5.7 思考题 162
第6章 高级应用与多智能体系统 163
6.1 Agentic架构 163
6.2 多智能体架构 166
6.2.1 智能体角色与专业化 166
6.2.2 共识机制 167
6.2.3 通信协议 169
6.2.4 LangGraph流式传输 176
6.2.5 交接 178
6.2.6 LangGraph平台 180
6.3 构建自适应系统 181
6.3.1 动态行为调整 181
6.3.2 人机回环 182
6.4 探索推理路径 183
6.4.1 思维树 183
6.4.2 利用MCTS裁剪ToT 190
6.5 智能体记忆 191
6.5.1 缓存机制 192
6.5.2 存储机制 193
6.6 本章小结 194
6.7 思考题 194
第7章 软件开发与数据分析智能体 195
7.1 LLM在软件开发中的应用 195
7.1.1 开发的未来 196
7.1.2 实现考量 197
7.1.3 代码LLM的演化 198
7.1.4 代码LLM的基准测试 199
7.1.5 基于LLM的软件工程方法 200
7.1.6 安全性与风险缓解 203
7.1.7 LLM生成代码的验证框架 204
7.1.8 LangChain集成 205
7.2 利用LLM编写代码 206
7.2.1 谷歌生成式AI 206
7.2.2 Hugging Face 207
7.2.3 Anthropic 210
7.2.4 Agentic方法 211
7.2.5 文档RAG 212
7.2.6 代码库RAG 214
7.3 将LLM智能体应用于数据科学 216
7.3.1 训练ML模型 217
7.3.2 分析数据集 220
7.4 本章小结 224
7.5 思考题 224
第8章 评估与测试 225
8.1 评估的重要性 225
8.1.1 安全性与对齐 226
8.1.2 性能与效率 227
8.1.3 用户与利益相关方的实际价值 228
8.1.4 为LLM评估建立共识 229
8.2 评估内容:智能体的核心能力 230
8.2.1 任务性能评估 230
8.2.2 工具使用评估 230
8.2.3 RAG评估 231
8.2.4 规划与推理评估 232
8.3 评估的方式:方法论与实现路径 233
8.3.1 自动化评估方法 233
8.3.2 人机回环评估 233
8.3.3 系统级评估 234
8.4 LLM智能体评估实践 235
8.4.1 评估结果的正确性 235
8.4.2 评估语气和简洁性 238
8.4.3 评估输出格式 240
8.4.4 评估智能体的轨迹 240
8.4.5 评估CoT推理 243
8.5 离线评估 244
8.5.1 评估RAG系统 245
8.5.2 在LangSmith中评估基准测试 246
8.5.3 使用HF数据集与Evaluate进行基准测试评估 249
8.5.4 评估电子邮件信息提取效果 250
8.6 本章小结 252
8.7 思考题 253
第9章 面向生产的LLM部署与可观测性 255
9.1 LLM的安全性考量 255
9.2 部署LLM应用 257
9.2.1 基于FastAPI的Web框架部署 259
9.2.2 使用Ray Serve实现可扩展部署 261
9.2.3 LangChain应用的部署注意事项 269
9.2.4 LangGraph平台 273
9.2.5 无服务器部署选项 276
9.2.6 用户界面框架 276
9.2.7 MCP 277
9.2.8 基础设施考量 278
9.3 如何构建可观测性LLM应用 282
9.3.1 LLM应用的运维指标 282
9.3.2 响应跟踪 283
9.3.3 幻觉检测 285
9.3.4 偏见检测与监控 286
9.3.5 可观测性策略 287
9.3.6 LLM应用的持续改进 288
9.4 LangChain应用的成本管理 288
9.4.1 LangChain中的模型选择策略 289
9.4.2 输出词元优化 291
9.4.3 其他策略 291
9.4.4 监控与成本分析 292
9.5 本章小结 292
9.6 思考题 293
第10章 生成式模型的未来:超越扩展 295
10.1 生成式AI的现状 295
10.2 扩展的局限性与新兴的替代方案 300
10.2.1 对扩展假设的挑战 300
10.2.2 科技巨头与小型企业 301
10.2.3 纯规模扩展的新型替代方案 302
10.2.4 训练数据质量的演化 304
10.2.5 技术进步推动普及化 305
10.2.6 后训练阶段的新缩放法则 306
10.3 经济与产业变革 306
10.3.1 行业转型与竞争态势 308
10.3.2 岗位演化与技能影响 308
10.3.3 经济分配与公平性问题 309
10.4 社会影响 310
10.4.1 虚假信息与网络安全 310
10.4.2 版权与署名问题 311
10.4.3 监管与落地挑战 312
10.5 本章小结 313
附录A 315
