DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines by Omar Khattab et. al.