SELF-DISCOVER: Large Language Models Self-Compose Reasoning Structures Contributions Results Insights Resources Llamaindex Implementation of SELF-DISCOVER