Repository navigation
First public release of P2P, the software behind the NeurIPS 2026 paper
Prompts to Proxies: Emulating Human Preferences via a Compact LLM Ensemble.
This is the version used for the paper; install it for replication.
P2P reconstructs how a population answers a survey from aggregate results only.
Stage 1 builds a pool of LLM proxy respondents with entropy-guided adaptive
sampling. Stage 2 weights them with constrained regression (lasso, elastic
net, ridge or a simple average) so their combined answers match the
population's answer shares.
Highlights
- One configuration, one CLI: a YAML manifest and the
p2pcommand cover
generation, elicitation, regression, evaluation, sweeps, clustering,
aggregation and budgeting. - Backends: OpenAI, Gemini, DeepSeek and Ollama, plus offline
simulated
anddummybackends for demos and tests. - Stage 2 options: mass penalty, reference respondent or intercept;
re-anchoring to a reference distribution; grouped (subgroup) targets; explicit
policies for predictions that are not distributions. - Experiment Studio (
p2p ui): a local browser interface to build, run,
compare and read experiments. - Reproducible records: every run keeps its resolved configuration, digests,
cleaning and prediction policies, usage and fit diagnostics. Paid runs resume
where they stopped, andp2p budgetforecasts tokens and cost offline. - Earlier formats: runs and configurations in the earlier result format are
read as they are, and earlier option spellings are still accepted.
Get started
Requires Python 3.12 or later.
git clone --branch v0.1.0 https://github.com/bingchen-wang/P2P.git
cd P2P
python -m pip install -e ".[dev]"
p2p pipeline --config config/smoke/studio_demo_pipeline.yaml --output outputs/demo_pipeline
The demo runs the whole pipeline offline on a fictional survey: no API key,
no network, no cost. For exact reproduction, use the pinned environment in
environment/.
Data
No survey data from ATP, OpinionQA or WVS is included, because their licences
do not allow redistribution. Obtain them from the providers listed in the README.
Citation
Please cite the software using CITATION.cff ("Cite this repository" on the
repository page), and the paper if you build on the method or results; both
entries are in the README.
Full Changelog: https://github.com/bingchen-wang/P2P/commits/v0.1.0