@DSPyOSS: 感谢 @dbreunig,我们有了新的首页和新文档,旨在简化上手流程。我们正在缓慢接近一个重大的……
摘要
DSPy 有了新的首页和文档以简化上手流程,并即将发布重大的 DSPy 4.0 版本,包含激进的新想法。
查看缓存全文
缓存时间: 2026/05/29 09:40
感谢 @dbreunig,我们有了新的首页和新的文档,旨在让入门更轻松。
我们正逐步接近一个重大的 DSPy 4.0 版本,基于过去 1.5 年酝酿并已基本成型的激进想法。敬请期待!
https://t.co/eTtzzZL5i8
DSPy
来源:https://dspy.ai/ DSPy 3.2 — 改进的工具调用及其他·了解更多 → (https://github.com/stanfordnlp/dspy/releases)
编程,而非提示,来驾驭你的 LLMs。
DSPy 是一个用于构建 AI 系统的 Python 框架。用结构化签名而非提示来表达你的任务,从而产生可维护、模块化且可优化的程序。
12345678910
lm = dspy.LM(“openai/gpt-5.4-nano”)
class ExtractEvent(dspy.Signature): “”“从邮件中提取事件详情。”“” email: str = dspy.InputField() event_name: str = dspy.OutputField() date: str = dspy.OutputField()
extract = dspy.Predict(ExtractEvent) extract(email=inbox_message)
Prediction( event_name=“团队外出活动”, date=“2025年6月5日,星期四” )
用可复用的原语组合程序。
签名
声明你的任务。
将任务定义为类型化的输入和输出,而不是管理混乱的提示。可移植、可维护、易于迭代。
class Triage(dspy.Signature): “”“路由一个支持工单。”“” ticket: str = dspy.InputField() urgency: Literal[“low”, “high”] = dspy.OutputField() team: str = dspy.OutputField()
模块
相同接口,不同策略。
模块控制签名的执行方式。推理、运行合奏、使用工具、添加REPL等,无需重写任务。
直接补全
classify = dspy.Predict(Triage)
添加逐步推理
classify = dspy.ChainOfThought(Triage)
添加工具和推理循环
classify = dspy.ReAct(Triage, tools=[search])
优化器
根据指标编译你的程序。
给DSPy提供示例和一个评分函数。它会自动调整你的提示,直到质量收敛。
tp = dspy.GEPA( metric=semantic_f1, auto=“medium” ) opt = tp.compile(rag, trainset)
之前:0.41 F1
之后:0.63 F1
opt.save(“rag.v2.json”)
提取 智能体 流水线 多模态 优化
def search(query: str) -> list[str]: “”“搜索知识库。”“” return kb.query(query, k=3)
def calc(expr: str) -> float: “”“计算数学表达式。”“” return dspy.PythonInterpreter({}).execute(expr)
agent = dspy.ReAct( “question -> answer”, tools=[search, calc] ) agent(question=“法国的人均GDP?”)
思考 1:我需要法国的GDP和人口。
动作 1:search(“法国 GDP”) → …
思考 2:现在用GDP除以人口。
动作 2:calc(“3.13e12 / 68e6”) → 46029.4
Prediction(answer=“$46,029”)
class FactCheck(dspy.Module): def init(self): self.find = dspy.ChainOfThought( “article -> claims: list[str]” ) self.verify = dspy.ChainOfThought( “claim, source -> verdict” )
def forward(self, article):
found = self.find(article=article)
return [
self.verify(claim=c, source=article)
for c in found.claims
]
>>> FactCheck()(article=news_article)
[Prediction(verdict=“supported”),
Prediction(verdict=“unsupported”),
Prediction(verdict=“supported”)]
class AnalyzeChart(dspy.Signature): “”“描述图表中的趋势和关键数据点。”“” chart: dspy.Image = dspy.InputField() title: str = dspy.OutputField() trend: str = dspy.OutputField() data_points: list[dict] = dspy.OutputField()
analyze = dspy.Predict(AnalyzeChart) analyze(chart=dspy.Image(“quarterly_revenue.png”))
Prediction( title=“季度营收(2024)”, trend=“稳定增长,Q3下降,Q4强劲复苏”, data_points=[{“q”:“Q1”,“rev”:“$4.2M”}, …] )
optimizer = dspy.GEPA( metric=accuracy, auto=“medium” ) optimized = optimizer.compile( extract, trainset=labeled_emails ) optimized.save(“extract_v2.json”)
基线 62%(gpt-5.4-mini,零样本)
优化后 89%(gpt-5.4-mini + GEPA编译)
成本 $2.18 · 200个样本
保存至 → extract_v2.json
自2022年12月起公开构建。
DSPy 起源于 Stanford NLP,并发展成一个研究社区。新的优化器和模块类型首先在这里出现——然后出现在你听说过的公司的生产系统中。
2025年12月 递归语言模型
2025年7月 GEPA:反射式提示演化
2024年7月 BetterTogether:微调 + 提示优化
2024年6月 MIPROv2:优化指令与示例
2024年2月 STORM:编写类似维基百科的文章
2023年10月 DSPy:编译声明式LM调用
2022年12月 Demonstrate-Search-Predict
DSPy 在生产中的应用
所有商店的元数据提取;成本降低约550倍
为排序和评估优化的Dash相关性评判器
在Amazon Nova上将提示从较大模型迁移到较小模型
Databricks上的多个聊天机器人用例
使用代码LLM合成差异的代码修复流水线
LM评判器、RAG、分类和客户解决方案
Hermes智能体的演化式自我改进
查看所有使用DSPy进行生产的公司
相似文章
@DSPyOSS:说到底就是签名(规范)、模块(“测试台”、“推理扩展”)和优化器(学习算法…
一篇回顾 DSPy 框架架构的帖子,该框架围绕签名、模块和优化器构建,并指出它自 2022 年以来仍在持续增长。
@isaacbmiller1:DSPy 3.2.0 发布!亮点速览:- dspy.RLM 在解析、工具执行与故障恢复方面的改进……
DSPy 3.2.0 优化了 dspy.RLM 的解析、工具执行与故障恢复,并持续推进与 LiteLLM 的解耦。
@intertwineai:@DSPyOSS 技能系列第 2 篇上线→教你几分钟内在 Claude 和 Codex 中跑通 DSPy + GEPA + RLM(附可直接复制的代码)
教程演示如何借助 Claude 和 Codex 快速搭建 DSPy + GEPA + RLM,提供复制即用的代码。
@MaximeRivest: https://x.com/MaximeRivest/status/2055293570119065875
MaximeRivest解释了DSPy的五个核心组件——Optimizers、Signatures、LMs、Modules和Adapters——并认为有效的AI工程需要掌握这些要素,同时强调了结构化输出渲染这一常常被忽视的作用。
@0xtotem: 已将 PEEK 移植到 @DSPyOSS。你可以将任何 DSPy 代理(ReAct、RLM 等)封装到这个新模块中,以受益于更好的性能……
已将 PEEK 方法移植到 DSPy,使任何 DSPy 代理都能受益于如论文所示的改进性能和成本降低。