This Flask app allows users to search for ICLR 2025 paper submissions using semantic search and BM25 ranking.
Deployed at https://iclr-search.jkapoor.me
- Python 3.7 or higher
- Vercel CLI
- OpenAI API key
-
clone this repository:
git clone <repository-url> cd <repository-name>
-
install the required packages:
pip install -r requirements.txt
-
set up your openai api key as an environment variable:
export OPENAI_API_KEY=your_api_key_here
-
run the flask app locally:
python api/index.py
-
open your browser and go to
http://localhost:5000
to use the app.
-
install the vercel cli:
npm i -g vercel
-
login to vercel:
vercel login
-
deploy the app:
vercel
-
set the openai api key as an environment variable on vercel:
vercel env add OPENAI_API_KEY
enter your openai api key when prompted.
-
redeploy the app to use the new environment variable:
vercel --prod
Your app should now be deployed and accessible via the Vercel URL provided.
api/index.py
: main flask applicationvercel.json
: vercel configuration filerequirements.txt
: python dependenciesiclr_2025_submissions.json
: json file containing paper submissions (precomputed in this rep)embedding_array_fp16.npy
: numpy array of paper embeddings (precomputed in this rep)
Make sure to include the iclr_2025_submissions.json
and embedding_array_fp16.npy
files in your repository or upload them to Vercel separately.
Ensure that your OpenAI API key has sufficient credits and permissions to create embeddings using the "text-embedding-3-small" model.