stanfordnlp / dspy

DSPy: The framework for programming—not prompting—foundation models
https://dspy-docs.vercel.app/
MIT License
14.02k stars 1.07k forks source link

TypedChainOfThought and ChainOfThought have divergent reasoning output fields. #1235

Open ko0stik opened 5 days ago

ko0stik commented 5 days ago

On ChainOfThought in the source code, we can see that output field for explaining the CoT is named rationale.

On TypedChainOfThought, in this file, CoT explanation is named reasoning.

Is there a reason why those 2 are different or is it simply a matter of separate evolutions of the code? If it is the latter, would it be more advisable to avoid using the typed predictors?

🙏

okhat commented 4 days ago

Good point, we should streamline this. That said, it seems like a minor thing. Does it break any major things for you?

ko0stik commented 4 days ago

Absolutely not, I noticed this while working more closely with the reasoning output fields when I was switching between typed and regular. It is slightly confusing at most.

I tend to prefer typed predictors. Considering the massive overhaul that has been under discussion lately, my main concern was to make sure that what I implement is as future-proof as possible to avoid migrations later on.

Thanks @okhat , I appreciate your reactivity on my question!