@DSPyOSS: 感谢 @dbreunig,我们有了新的首页和新文档,旨在简化上手流程。我们正在缓慢接近一个重大的……

X AI KOLs Following 工具

摘要

DSPy 有了新的首页和文档以简化上手流程,并即将发布重大的 DSPy 4.0 版本,包含激进的新想法。

感谢 @dbreunig,我们有了新的首页和新文档,旨在简化上手流程。 我们正缓慢接近一个重大的 DSPy 4.0 版本,基于过去 1.5 年酝酿并已基本成型的激进想法。敬请期待! https://t.co/eTtzzZL5i8
查看原文
查看缓存全文

缓存时间: 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进行生产的公司

相似文章