minichain / color.py
srush's picture
srush HF staff
Upload with huggingface_hub
7b856a8
raw
history blame
831 Bytes
# Answer a math problem with code.
# Adapted from Dust [maths-generate-code](https://dust.tt/spolu/a/d12ac33169)
from minichain import Backend, JinjaPrompt, Prompt, start_chain, SimplePrompt, show_log
# Prompt that asks LLM for code from math.
class ColorPrompt(Prompt[str, bool]):
def parse(inp: str) -> str:
return f"Answer 'Yes' if this is a color, {inp}. Answer:"
def parse(out: str, inp) -> bool:
# Encode the parsing logic
return out.strip() == "Yes"
ColorPrompt().show({"inp": "dog"}, "No")
with start_chain("color") as backend:
question = 'What is the sum of the powers of 3 (3^i) that are smaller than 100?'
prompt = MathPrompt(backend.OpenAI()).chain(SimplePrompt(backend.Python()))
result = prompt({"question": question})
print(result)
show_log("math.log")