Core Concepts
Signatures
Specify what you want, not how; let the LLM figure it out
Specify what you want, not how; let the LLM figure it out
Modules
Structure your program logically
Structure your program logically
Tools
Interact with the outside world - or the rest of the program
Interact with the outside world - or the rest of the program
Adapters
Customizable prompt formatters: think JSON, BAML, XML, etc.
Customizable prompt formatters: think JSON, BAML, XML, etc.
Optimizers
Optimize your DSPy program, ML-style
(let the LLM figure it out!)
Optimize your DSPy program, ML-style
(let the LLM figure it out!)
Metrics
Define what to optimize against (can be multiple things)
Define what to optimize against (can be multiple things)