DSPy

活跃
GitHub Python MIT

简介

DSPy 是声明式 LLM 编程框架,强调可优化的提示与程序结构,适合构建复杂 Agent 流程。

核心特性

  • 声明式 LLM 编程 — 用 Python 代码而非提示词定义 LM 调用逻辑,实现模块化 AI 系统构建
  • 自动提示优化 — 通过 DSPy Compiler 自动优化 prompt 和 few-shot 示例,无需手动调参
  • 模块化管道组合 — 支持 ChainOfThought、ReAct、multi-hop 等模块的自由组合,构建复杂推理链
  • RAG 流水线支持 — 内置检索增强生成管道,支持向量检索、重排序等组件的声明式编排
  • Agent 循环框架 — 支持构建 Agent loop,将工具调用、推理、检索编排为可优化的程序
  • 可微分权重优化 — 支持对 LM 进行 fine-tuning,同时优化 prompt 和模型权重

适用场景

💡 构建分类和信息抽取管道 — 用声明式方式定义分类器或信息抽取器,通过 Compiler 自动优化准确率
💡 多步 RAG 系统 — 编排检索、重排、生成等多步流程,自动优化每一步的 prompt
💡 Agent 工具调用流程 — 将工具选择、参数提取、结果整合编排为可优化的 Agent 管道
💡 学术研究和基准测试 — 快速搭建 NLP 任务管道并进行系统性优化和评估

优势与不足

优势

  • 活跃维护,近期持续更新
  • 社区热度高(37.3k stars)
  • 开源许可证友好(MIT)
  • 项目有一定历史沉淀(已维护 3 年)

快速开始

pip install dspy

import dspy

# Configure your LM
dspy.configure(lm=dspy.LM('openai/gpt-4o-mini'))

# Define a simple module
class RAG(dspy.Module):
    def __init__(self, passages_per_query=3):
        self.retrieve = dspy.Retrieve(k=passages_per_query)
        self.generate = dspy.ChainOfThought('context, question -> answer')

    def forward(self, question):
        context = self.retrieve(question).passages
        return self.generate(context=context, question=question)

rag = RAG()
result = rag(question='What is DSPy?')
print(result.answer)

相关项目

forge

2.2k · Python
活跃 A

Forge 是一个自托管 LLM 工具调用框架,支持使用 Ollama、llamafile 等本地模型进行函数调用和多步骤代理工作流编排。

self-hostedtool-callingfunction-calling +4
  • · 代理服务器模式可在任何兼容 OpenAI 或 Anthropic 的客户端中无代码添加防护栏
  • · 救援解析自动处理 Mistral、Qwen 和 JSON 围栏格式的畸形工具调用
  • · WorkflowRunner 配合 SlotWorker 为多 Agent 架构提供优先级队列的 GPU 访问

TaskWeaver

6.2k · Python
不活跃 B

TaskWeaver 是微软开源的代码解释器式 Agent 框架,适用于数据分析与复杂任务自动化。

microsoftagentcode-interpreter +1
  • · 代码优先的智能体框架:通过代码片段解释用户请求,基于插件执行
  • · 有状态执行:同时保留聊天历史和代码执行历史,包括内存中的数据
  • · 丰富的数据结构支持:直接操作 DataFrame 等复杂 Python 数据类型,而非纯字符串

Patchwork

1.6k · Python
活跃 B

面向企业工作流自动化的智能体 AI 框架,通过 LLM 驱动的自动化流水线处理代码审查、DevOps 等企业级任务。

automationworkflowagent +2
  • · 可复用的原子 Steps,支持创建 PR、提交更改、调用 LLM 等操作
  • · 可定制的 Prompt 模板,针对库更新、代码生成和漏洞修复进行优化
  • · Patchflows 组合 Steps 和 Prompts,实现 PR 审查、代码修复和文档自动化

相关文章