DSPy:用编程范式替代 Prompt 工程的框架
传统 LLM 应用开发中,Prompt 工程往往是脆弱的——换个模型、改个输入格式,精心调优的 Prompt 就可能失效。Stanford NLP 团队开源的 DSPy 框架提出了一种全新思路:把 LLM 调用看作是声明式编程,由编译器自动优化 Prompt。
核心概念
DSPy 引入三个核心抽象:
import dspy
# 1. Signature — 定义输入输出
class QA(dspy.Signature):
question = dspy.InputField()
answer = dspy.OutputField()
# 2. Module — 声明式管道
qa = dspy.ChainOfThought(QA)
# 3. Optimizer — 自动调优
optimizer = dspy.BootstrapFewShot(metric=accuracy)
RAG 优化实战
在 RAG 场景中,DSPy 可以自动优化检索策略和生成 Prompt。通过 BootstrapFewShot 编译器,只需提供少量示例和评估指标,框架会自动搜索最优的 Few-shot 示例组合,无需手动调整 Prompt 模板。