import dspy
from dspy.evaluate import Evaluate
from dspy.datasets.gsm8k import GSM8K, gsm8k_metric
from dspy.teleprompt import BootstrapFewShotWithRandomSearch


gms8k = GSM8K()
turbo = dspy.OpenAI(model='gpt-3.5-turbo-instruct', max_tokens=250)

trainset, devset = gms8k.train, gms8k.dev

dspy.settings.configure(lm=turbo)


NUM_THREADS = 4
evaluate = Evaluate(devset=devset[:], metric=gsm8k_metric, num_threads=NUM_THREADS, display_progress=True, display_table=0)


class CoT(dspy.Module):
    def __init__(self):
        super().__init__()
        self.prog = 
dspy.ChainOfThought("question -> answer")