A Good Plan is Hard to Find: Aligning Models with Preferences is Misaligned with What Helps Users
EMNLP 2025
This repository contains the code for Planorama, the interface developed for our EMNLP 2025 paper.
📄 Our paper: https://nbalepur.github.io/assets/pdf/Planorama.pdf
📊 Our dataset of preferences and outcomes when using plans in Planorama: https://huggingface.co/datasets/nbalepur/Planorama-user-data)
Install PostgreSQL. A quick option is via Conda:
conda install anaconda::postgresqlInitialize a database cluster ($HOME):
mkdir datadir
pg_ctl -D datadir initdb
pg_ctl -D datadir -l logfile startCreate the user and database:
createuser -s postgres
createdb -U postgres -h localhost -p 5432 kuiperbowlThen, configure web/.env.local from .env with your credentials.
Create and activate a virtual environment:
conda create -n helpfulness
conda activate helpfulness
conda install pipInstall dependencies & set up:
cd web
pip install -r requirements.txt
python manage.py migrateStart Redis for channel layers (via Docker):
docker run -p 6379:6379 -d redis:5Load fixtures:
python manage.py loaddata fixtures/question_fixtures.json
python manage.py loaddata fixtures/document_fixtures.jsonRun the server:
python manage.py runserver --insecureOur math and trivia questions can be loaded directly from the repository:
cd web
python scripts/pb_load.py
python manage.py loaddata fixtures/sanity_tutorial_questions.json
python manage.py loaddata fixtures/question_fixtures.json- Configure
.envwith the correct credentials. - Build and run:
docker-compose up --buildIf you use this code or dataset, please cite our EMNLP 2025 paper:
@inproceedings{balepur2025planorama,
title={A Good Plan is Hard to Find: Aligning Models with Preferences is Misaligned with What Helps Users},
author={Balepur, N. and others},
booktitle={Proceedings of the 2025 Conference on Empirical Methods in Natural Language Processing (EMNLP)},
year={2025}
}