Currently, LiteLLMProvider generates each Template result from a single greedycall_assistant trajectory.
With the latest development in LLM and probabilistic programming for more semantically oriented generation beyond prompting:
- Sequential Monte Carlo steering (LLamPPL), so we can sample from $p_{\text{LM}}(x),\varphi(x)$ where $\varphi$ is a potential the caller supplies.
- Alternatively, we could apply this as per-call/per-template level, like ModelSMC, or use sampling for parallelized sequence generation
A few design choices to make:
- What is the granularity? per-token, per-template, etc.?
- How much of numpyro/dynestyx can we reuse?
- Interface: Do we want to extend the existing interface to return multiple results instead of one, along with problogs?
- Interfacing with tools. If part of the context is generated by tools, do we still get those tokens' problog?
Currently,
LiteLLMProvidergenerates each Template result from a single greedycall_assistanttrajectory.With the latest development in LLM and probabilistic programming for more semantically oriented generation beyond prompting:
A few design choices to make: