Skip to content

Latest commit

 

History

History
192 lines (153 loc) · 5.05 KB

File metadata and controls

192 lines (153 loc) · 5.05 KB

Missing DSPy Features in Desiru

Based on analysis of Python DSPy vs current Desiru implementation.

Missing Modules

1. ProgramOfThought

  • Generates executable code instead of natural language
  • Critical for math/logic problems requiring computation
  • Uses code execution environment

2. MultiChainComparison

  • Runs multiple ChainOfThought instances
  • Compares and selects best reasoning path
  • Useful for complex reasoning tasks

3. BestOfN

  • Samples N outputs from any module
  • Selects best based on metric/scoring
  • Simple but effective ensemble technique

4. Refine

  • Iterative refinement of outputs
  • Takes initial output and improves it
  • Works with constraints and feedback

5. ChainOfThoughtWithHint

  • ChainOfThought variant with guided hints
  • Provides additional context for reasoning
  • Better control over reasoning direction

Missing Optimizers

1. MIPROv2

  • Most advanced DSPy optimizer
  • Uses Bayesian optimization
  • Optimizes both instructions and demonstrations
  • Significantly better than BootstrapFewShot

2. COPRO (Collaborative Prompt Optimization)

  • Coordinates multiple optimization strategies
  • Collaborative approach to prompt engineering
  • Handles complex multi-module programs

3. BootstrapFewShotWithRandomSearch

  • Enhanced version of BootstrapFewShot
  • Adds hyperparameter random search
  • Better exploration of optimization space

4. LabeledFewShot

  • Simple optimizer using provided examples
  • No bootstrapping, just uses given labels
  • Good baseline optimizer

5. KNNFewShot

  • K-nearest neighbor example selection
  • Dynamic example selection based on input
  • Better than static few-shot examples

6. BootstrapFinetune

  • Generates training data for model finetuning
  • Alternative to prompt optimization
  • For when you can modify the model

7. Ensemble

  • Combines multiple optimized programs
  • Voting or weighted combination
  • Improved robustness

8. SignatureOptimizer

  • Optimizes signature descriptions themselves
  • Rewrites field descriptions for clarity
  • Meta-optimization approach

9. BayesianSignatureOptimizer

  • Bayesian approach to signature optimization
  • More sophisticated than SignatureOptimizer
  • Better exploration of description space

Missing Core Features

1. Example and Prediction Classes

  • Special data containers with utilities
  • Flexible field access (dot notation)
  • Completion tracking for Predictions
  • Integration with trace system

2. Typed Predictors

  • Type-safe field handling
  • Pydantic integration in Python
  • Automatic validation and parsing
  • Better IDE support

3. Suggestions (Soft Constraints)

  • Unlike Assertions (hard constraints)
  • Guide optimization without failing
  • Used during compilation phase

4. Trace Collection System

  • Detailed execution tracking
  • Records all LLM calls and transformations
  • Critical for optimization
  • Enables debugging and analysis

5. Compilation Infrastructure

  • Full compilation pipeline
  • Trace filtering and selection
  • Demonstration ranking
  • Parameter update mechanism

6. Instruction Generation

  • Some optimizers generate custom instructions
  • Not just examples but rewritten prompts
  • Adaptive to task requirements

Missing Utilities & Capabilities

1. Data Loaders

  • HuggingFace dataset integration
  • CSV/JSON loaders with DSPy formatting
  • Train/dev/test split utilities
  • Batch processing support

2. LLM Provider Abstractions

  • Unified interface for multiple providers
  • Beyond just OpenAI (Anthropic, Cohere, etc.)
  • Local model support (Ollama, etc.)
  • Token counting and cost tracking

3. Advanced Metrics

  • F1, BLEU, ROUGE scores
  • LLM-as-Judge implementations
  • Composite metric builders
  • Batch evaluation utilities

4. Streaming Support

  • Token-by-token streaming
  • Progressive output display
  • Useful for long generations

5. Serialization

  • Save/load compiled programs
  • Export optimized parameters
  • Model versioning support

6. Settings Management

  • Global configuration system
  • Provider-specific settings
  • Experiment tracking

7. Advanced Caching

  • Request deduplication
  • Semantic caching options
  • Cache invalidation strategies

8. Parallel/Async Execution

  • Batch processing optimizations
  • Concurrent module execution
  • Async compilation runs

9. ColBERTv2 Integration

  • Advanced retrieval model
  • Better than basic vector search
  • Optimized for retrieval tasks

10. Logging and Debugging

  • Detailed trace visualization
  • Cost tracking and reporting
  • Performance profiling

Priority Recommendations

High Priority (Core Functionality)

  1. Example/Prediction classes
  2. Trace collection system
  3. MIPROv2 optimizer
  4. ProgramOfThought module
  5. Compilation infrastructure

Medium Priority (Enhanced Capabilities)

  1. MultiChainComparison
  2. BestOfN module
  3. Typed predictors
  4. Additional optimizers (COPRO, KNNFewShot)
  5. Data loaders

Low Priority (Nice to Have)

  1. Advanced metrics
  2. Streaming support
  3. ColBERTv2 integration
  4. Ensemble optimizer
  5. Signature optimizers