Stanford · Signature · Self-Improving

DSPy 声明式 LLM 编程实战

告别手写 prompt:用 Signature 声明输入输出,用 Module 组合逻辑,让 Optimizer 自动帮你挑示例、调提示、蒸馏小模型。DSPy 把 prompt 工程变成能 compile 的程序。

DSPy 2.5+ Signature ChainOfThought ReAct MIPROv2 BootstrapFewShot
开始学习 →
📊 10 章节 🧭 从 Signature 到 Compile 🚀 从手搓 prompt 到可优化程序

课程目录

停止手工调 prompt — 用 DSPy 把 LLM 调用写成可优化的 Python 程序

Chapter 01
为什么需要 DSPy:从 Prompt 工程到 Prompt 编程
手写 prompt 脆弱、不可迁移、换模型就崩。DSPy 把"写提示词"换成"写签名 + 编译",让代码替你优化提示——理念、对比、核心思想。
动机理念
Chapter 02
Signature:用签名声明任务
InputField / OutputField、类签名写法、字段描述如何影响生成、多输出字段,从 "question -> answer" 到 "context, question -> reasoning, answer"。
SignatureIO
Chapter 03
内置 Module:Predict / ChainOfThought / ReAct
最常用三个模块拆解原理,ChainOfThought 为什么多一个 reasoning 字段,ReAct 怎样做循环与工具调用,什么时候用哪个。
ModuleReAct
Chapter 04
自定义 Module:组合多个调用
继承 dspy.Module,forward 里串联多步,RAG 模块的经典写法(retrieve → generate),把复杂 pipeline 写成可组合的类。
组合Pipeline
Chapter 05
Metric:把评估指标写成函数
准确率、F1、LLM-as-Judge、自定义业务指标。Metric 是 Optimizer 的罗盘——指标写错,优化就把模型带偏了,本章教你写对。
Metric评估
Chapter 06
Optimizer:让 DSPy 自动优化你的 prompt
BootstrapFewShot、BootstrapFewShotWithRandomSearch、MIPROv2、BootstrapFinetune——四个优化器的原理、适用场景、用法对比。
OptimizerMIPROv2
Chapter 07
Compile:把训练集变成优化的程序
compile() 做了什么、teleprompter 是什么、编译后的程序怎么保存、加载、versioning,让优化结果能复现、能上线。
Compile部署
Chapter 08
Assertion & Suggestion:运行时约束
dspy.Assert / dspy.Suggest 让 LLM 输出必须满足条件(JSON 有效、字段非空、长度合规),违反则自动 backtrack 重试。
Assertion约束
Chapter 09
生产部署:缓存、观测、灾难恢复
dspy.settings、LM 缓存、trace/callback 观测、多模型 fallback、成本监控,把编译好的程序稳稳地塞进 FastAPI/生产系统。
生产Ops
Chapter 10
实战:多跳问答 RAG + 蒸馏到小模型
完整端到端:HotpotQA 风格多跳问答,先用 GPT-4o 编译出 demo,再 BootstrapFinetune 蒸馏到 Llama-3 8B,成本降 10 倍。
端到端蒸馏