Skip to content

cjwallace/squote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

squote

A semantic search engine that takes some input text and returns some (questionably) relevant (questionably) famous quotes.

Squote finding relevant quotes

Built with:

Quotes from https://thewebminer.com/.

setup

First, install the necessary dependencies into a python 3 environment of your choice. For instance, to install the deps into a venv, run

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

There are additional native dependencies for FAISS: libomp and libopenblas must be available (see the FAISS repo for install instructions). All other commands should be run from within the virtual environment.

A Makefile is provided to make things nice and easy.

make dirs
make data   # downloads the raw quote data
make model  # downloads ~350MB of BERT weights

running

Before we can run the app, we need embeddings of the quotes. To generate the embeddings and save them in a pickled pandas DataFrame, run the commands below. This will take some time (couple of hours) on CPU.

make serve  # this runs bert-as-a-service
make embed  # this computes the embeddings

Once the embeddings exist, we can run the streamlit app with:

make serve  # not needed if still running from above
make app

Have fun!

About

Semantic search for quotes.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published