dspy-optimization

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

DSPy Optimization

DSPy优化

Guidance for optimizing DSPy programs: teleprompter selection, metric definition, evaluation workflows, and save/load patterns.
DSPy程序优化指南:Teleprompter选择、指标定义、评估工作流以及保存/加载模式。

Environment Setup

环境搭建

This skill requires
uv
as the Python package manager.
bash
uv venv
source .venv/bin/activate
uv pip install dspy
Rule: Never use raw
pip
. Always use
uv pip
for installs and
uv run
for script execution.
本技能需要**
uv
**作为Python包管理器。
bash
uv venv
source .venv/bin/activate
uv pip install dspy
规则: 切勿使用原生
pip
。安装时始终使用
uv pip
,执行脚本时始终使用
uv run

Quick Start

快速开始

Optimizing with metrics

基于指标进行优化

python
undefined
python
undefined

Use the optimize-dspy script

使用optimize-dspy脚本

uv run scripts/optimize-dspy.py --module my_module --metric my_metric --examples examples.jsonl
undefined
uv run scripts/optimize-dspy.py --module my_module --metric my_metric --examples examples.jsonl
undefined

BootstrapFewShot

BootstrapFewShot

python
from dspy.teleprompt import BootstrapFewShot

optimizer = BootstrapFewShot(metric=my_metric, max_bootstrapped_demos=4)
compiled = optimizer.compile(program, trainset=trainset)
compiled.save("./compiled/program.json")
python
from dspy.teleprompt import BootstrapFewShot

optimizer = BootstrapFewShot(metric=my_metric, max_bootstrapped_demos=4)
compiled = optimizer.compile(program, trainset=trainset)
compiled.save("./compiled/program.json")

When to Use This Skill

适用场景

Use this skill when:
  • Running DSPy optimization or compilation with teleprompters
  • Defining custom metrics for DSPy evaluation
  • Evaluating DSPy programs with dev sets
  • Choosing between BootstrapFewShot, MIPROv2, or other optimizers
  • Saving and loading compiled programs
在以下场景中使用本技能:
  • 使用Teleprompter运行DSPy优化或编译
  • 为DSPy评估定义自定义指标
  • 使用开发集评估DSPy程序
  • 在BootstrapFewShot、MIPROv2或其他优化器之间进行选择
  • 保存和加载已编译的程序

Core Concepts

核心概念

Optimization Reference

优化参考文档

See optimization.md for:
  • Teleprompter selection guide (BootstrapFewShot, MIPROv2, etc.)
  • Metric definition patterns
  • Optimization strategies and hyperparameters
  • Evaluation and testing workflows
  • Save/load best practices (
    .save()
    /
    .load()
    , never raw pickle)
查看optimization.md获取以下内容:
  • Teleprompter选择指南(BootstrapFewShot、MIPROv2等)
  • 指标定义模式
  • 优化策略与超参数
  • 评估与测试工作流
  • 保存/加载最佳实践(使用
    .save()
    /
    .load()
    ,切勿使用原生pickle)

Scripts

脚本

  • optimize-dspy.py: Run optimization with custom metrics and teleprompters
  • optimize-dspy.py:使用自定义指标和Teleprompter运行优化

Critical Rules

关键规则

  1. Always use
    uv
    :
    uv pip
    for installs,
    uv run
    for scripts
  2. Use
    .save()
    /
    .load()
    : Never use raw
    pickle
    for DSPy programs
  3. Use
    dspy.LM
    : Never use deprecated
    dspy.OpenAI
    or
    dspy.settings.configure
  4. Mark inputs on examples: Always call
    .with_inputs()
    on
    dspy.Example
  1. 始终使用
    uv
    :安装用
    uv pip
    ,执行脚本用
    uv run
  2. 使用
    .save()
    /
    .load()
    :切勿为DSPy程序使用原生
    pickle
  3. 使用
    dspy.LM
    :切勿使用已弃用的
    dspy.OpenAI
    dspy.settings.configure
  4. 标记示例输入:始终在
    dspy.Example
    上调用
    .with_inputs()

Related Skills

相关技能

  • dspy-core: Signatures, modules, programs, and compilation fundamentals
  • dspy-fleet-rlm: fleet-rlm-specific DSPy patterns and integration
  • dspy-core:签名、模块、程序及编译基础
  • dspy-fleet-rlm:针对fleet-rlm的DSPy特定模式与集成

Progressive Disclosure

渐进式内容披露

  1. SKILL.md (this file): Quick reference and navigation
  2. references/: Detailed optimization docs loaded as needed
  3. scripts/: Executable optimization tools
  1. SKILL.md(本文档):快速参考与导航
  2. references/:按需加载的详细优化文档
  3. scripts/:可执行的优化工具