# + tags=["hide_inp"] desc = """ ### Word Problem Solver Chain that solves a math word problem by first generating and then running Python code. [[Code](https://github.com/srush/MiniChain/blob/main/examples/math.py)] (Adapted from Dust [maths-generate-code](https://dust.tt/spolu/a/d12ac33169)) """ # - import minichain # Prompt that asks LLM for code from math. class MathPrompt(minichain.TemplatePrompt[str]): template_file = "math.pmpt.tpl" # Ask a question and run it as python code. with minichain.start_chain("math") as backend: math_prompt = MathPrompt(backend.OpenAI()) code_prompt = minichain.SimplePrompt(backend.Python()) prompt = math_prompt.chain(code_prompt) # result = prompt({"question": question}) # print(result) gradio = prompt.to_gradio(fields =["question"], examples=["What is the sum of the powers of 3 (3^i) that are smaller than 100?", "What is the sum of the 10 first positive integers?", "Carla is downloading a 200 GB file. She can download 2 GB/minute, but 40% of the way through the download, the download fails. Then Carla has to restart the download from the beginning. How load did it take her to download the file in minutes?"], out_type="markdown", description=desc ) if __name__ == "__main__": gradio.launch() # View the prompt # + tags=["hide_inp"] # MathPrompt().show({"question": "What is 10 + 12?"}, "10 + 12") # # - # # View the log # minichain.show_log("math.log")