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::postgresql
Initialize a database cluster ($HOME
):
mkdir datadir
pg_ctl -D datadir initdb
pg_ctl -D datadir -l logfile start
Create the user and database:
createuser -s postgres
createdb -U postgres -h localhost -p 5432 kuiperbowl
Then, configure web/.env.local
from .env
with your credentials.
Create and activate a virtual environment:
conda create -n helpfulness
conda activate helpfulness
conda install pip
Install dependencies & set up:
cd web
pip install -r requirements.txt
python manage.py migrate
Start Redis for channel layers (via Docker):
docker run -p 6379:6379 -d redis:5
Load fixtures:
python manage.py loaddata fixtures/question_fixtures.json
python manage.py loaddata fixtures/document_fixtures.json
Run the server:
python manage.py runserver --insecure
Our 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
.env
with the correct credentials. - Build and run:
docker-compose up --build
If 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}
}