Building LLM Powered Applications 全书总复习
贯通第一版185个正式目录层级,从冻结任务和模型开始,重放提示、编排、对话、推荐、SQL、代码、多模态、微调与Responsible AI。
为什么先冻结应用合同
、、、、、共同构成本页坐标。贯通第一版185个正式目录层级,从冻结任务和模型开始,重放提示、编排、对话、推荐、SQL、代码、多模态、微调与Responsible AI。 本页不把框架演示等同于应用完成,而是把需求、输入、模型、提示、数据、工具、输出验证、监控与回退连成可执行闭环。
本书锁定Valentina Alto、Packt第一版、2024年5月、342页和ISBN 9781835462317。书中的模型名单、LangChain接口及云服务是出版时坐标;复刻核心方法时保留历史语境,运行实验时另记当前版本,不能用今天的行为反向改写原书结构。
每次运行保存来源、任务版本、输入哈希、模型与端点、提示、检索快照、工具权限、随机参数、依赖锁、输出、逐样本判断、延迟和成本。只看最终文本无法区分模型漂移、提示注入、检索缺失、工具越权、状态串扰和评测污染。
数学、检索与成本骨架
sim(q,d)=rac{q^Td}{lVert q Vert_2lVert d Vert_2}第一式固定生成概率与上下文;比较时记录词元器和解码。第二式只是检索候选的一种分数,仍需冻结嵌入模型、切块、索引和重排。第三式把输入、输出、检索与工具成本放入同一请求账本。第四式要求来源、重放和边界同时成立,才能形成强结论。
手算例取候选词概率0.8、0.5与0.25,平均负对数似然约0.998。检索例取q=(1,0)、d1=(1,0)、d2=(1,1),余弦相似度分别为1与约0.707;若重排结果相反,必须记录重排器而不是归因给向量库。一次请求若有800输入词元、200输出词元,还应将检索和工具调用加入成本与延迟预算。
三段可运行骨架
def freeze_request(task, model, prompt, data_hash, tools, seed):
return {"task": task, "model": model, "prompt": prompt,
"data": data_hash, "tools": tools, "seed": seed}def compare_controlled(baseline, candidate, changed):
assert len(changed) == 1, "one attributable change per experiment"
return {key: candidate[key] - baseline[key] for key in baseline}def release_gate(records):
required = {"input", "config", "output", "judgment", "limits"}
missing = [i for i, record in enumerate(records)
if not required.issubset(record)]
return {"pass": not missing, "missing": missing}第一段产生不可变请求清单,第二段强制单变量对照,第三段在发布前检查证据。接入真实API、LangChain、数据库、代码解释器或多模态工具时由薄适配器提供执行对象,清单字段与门禁顺序不变;这样依赖升级和服务端漂移会成为可见差异。
从最小基线到应用
先实现没有记忆、检索和工具的最小模型调用,冻结五到十个正常样本及预期结构。然后每轮只加入一个能力:模板、少样本、检索、记忆、工具、代码执行或多模态输入。每一步都保留上一步基线,测量质量、延迟、成本和新引入的失败面。
输出验证分语法、语义、来源和权限四层。JSON可解析不代表事实正确;检索片段存在不代表回答受其支持;工具调用成功不代表参数获授权;前端显示顺畅也不代表多会话状态隔离。门禁失败应返回可解释状态,而不是让模型自由补写。
对话和Agent还需冻结会话ID、状态摘要、工具白名单、最大步数和终止条件。推荐与SQL应用按用户或时间分组切分,防止未来数据泄漏。代码执行放在无网络、限时限存沙箱。多模态链保存每种模态的原始输入及变换,避免只留最终文本。
对照、故障与回归
基线冻结任务、样本、模型、提示、知识快照、工具和判定,只改变一个因素。随机阶段至少多种子或多顺序运行,报告逐样本结果、均值、方差、尾延迟和成本。模型更大、框架更新或输出更长都不能替代受控比较。
故障轮次注入提示分隔符逃逸、空检索、过期资料、错误SQL模式、工具越权、会话串扰、代码死循环、图像OCR缺失和评测标签翻转。系统应在输入、提示、检索、权限、执行、输出或判定门禁报告首个分叉;最终答案错误只是末端症状。
修复后先重放原失败,再运行相邻边界与正常基线。上线反馈进入新的隔离数据版本,不直接污染测试集。质量、安全、延迟、成本和可复现性全部通过才晋级,发布单元冻结模型、提示、索引、工具适配器、服务镜像和评测清单。
第一版正式目录覆盖
- Preface:9个正式层级
- Chapter 1: Introduction to Large Language Models:14个正式层级
- Chapter 2: LLMs for AI-Powered Applications:11个正式层级
- Chapter 3: Choosing an LLM for Your Application:16个正式层级
- Chapter 4: Prompt Engineering:15个正式层级
- Chapter 5: Embedding LLMs within Your Applications:15个正式层级
- Chapter 6: Building Conversational Applications:10个正式层级
- Chapter 7: Search and Recommendation Engines with LLMs:15个正式层级
- Chapter 8: Using LLMs with Structured Data:14个正式层级
- Chapter 9: Working with Code:11个正式层级
- Chapter 10: Building Multimodal Applications with LLMs:19个正式层级
- Chapter 11: Fine-Tuning Large Language Models:12个正式层级
- Chapter 12: Responsible AI:9个正式层级
- Chapter 13: Emerging Trends and Innovations:13个正式层级
- Other Books You May Enjoy:1个正式层级
- Index:1个正式层级
分母共185项:Preface 9项、13章174项、Other Books You May Enjoy和Index各1项。学习地图与总复习是本站教学入口,不计入原书分母;每个正式标题在对应页面承担主讲责任。
六类应用证据
任务与来源合同
定义用户、输入、允许输出、拒答、成功指标与最小反例。保存第一版目录、官方代码仓库、依赖提交和外部模型文档;区分原书示例、本站重放、当前替代实现和未知项。
模型与提示合同
记录提供方、模型版本、端点、词元器、上下文、系统提示、模板、示例、解码和结构约束。模型别名与服务默认值不稳定,任何漂移都通过金样本和逐字段差异显现。
数据、检索与状态合同
记录许可、来源、哈希、切块、嵌入、索引、重排和有效期;会话状态有所有者、生命周期和清理策略。答案引用可定位片段,缺证据时降级,不让模型把参数记忆冒充当前事实。
工具、代码与权限合同
工具使用结构化模式、最小权限、超时、幂等键和审计日志。SQL默认只读,代码默认沙箱,多模态文件先做类型与大小验证;高影响动作需要确定性校验或人工确认。
评测、安全与成本合同
评测可下钻到输入、输出、证据和理由,覆盖正常、边界、注入、越权、偏见、隐私与过度拒答。质量与成本在同一请求集合上报告,平均值之外保留尾部失败。
发布、监控与回退合同
发布前重放冻结回归集,线上监控模型错误、检索缺失、工具失败、延迟、成本和安全事件。模型、提示、索引和工具版本整体标记,可一键回到上一组已验证产物。
常见失败与回退
本章回顾
贯通第一版185个正式目录层级,从冻结任务和模型开始,重放提示、编排、对话、推荐、SQL、代码、多模态、微调与Responsible AI。 掌握标准不是记住模型或框架名,而是能重建任务、版本、数据、调用图、权限、对照、指标、限制和失败证据。通过标准为:能独立重建最小LLM应用,证明质量、安全、性能、成本和复现门禁全部通过后再发布。