You can optimize prompt with MIPROv2 without examples (set the max number of examples to 0)
I'm new to the library but from what I can see the Chat adapter will do this automatically if I use the forward call
Quoting the docs: "Though rarely needed, you can write custom LMs by inheriting from dspy.BaseLM. Another advanced layer in the DSPy ecosystem is that of adapters, which sit between DSPy signatures and LMs. A future version of this guide will discuss these advanced features, though you likely don't need them."
I could be wrong, I could be looking for complexity where there is none.
Have a fundamentally misunderstood how this all works, it sometimes feels like I have?