ask() / aask()
Also written: ask, aask, llm.ask
A single wrapper function through which every model call is made, so calls can be replayed from saved replies, sent to Claude, or answered by a fake model depending on the mode. `aask()` is the awaitable version, which runs `ask()` in a thread so several calls can overlap.