test
changestructor
overview.
The easiest way to get setup, for development, will be to use the provided docker container. You should install Docker, if you don't already have it on your machine.
Once you have done so, you can call
make docker
to build the container.
You can then launch the container with
docker run -it chg-container
and then just make sure to append --ui cli
to both chg annotate
and chg ask
. (We have not yet setup propert X11 forwarding to use
the Tkinter UI).
Run
make
and make sure to add the following to your PATH variable
export PATH=${PATH}:$(realpath bin/)
from changestructor
's source root folder. You can do this
by just running
source init.sh
You may want to add this environment variable to your usual dot files instead of running this script each time.
After you have staged your git changes (with git add
), in the
corresponding project.
chg annotate
Similarly, within the same git repository subtree
chg ask
will bring up the (very simple) UI for question asking.
The idea here is that we take the git log and:
git-to-chg
builds changestructor
database.
chg-to-index
creates a queryable index and trains a question ranker, as such you should run this step before you start using chg. You may also want to run this command periodically to update the system.
chg
details.chg
) in the same location as
corresponding .git
folder..chg
folder contains:
db.sqlite3
)faiss.db
a FAISS indexed version of change chunk embeddings for fast lookupsranked.pkl
a question ranking modelbin/
holds top-level scripts that the user calls, user should not touch any other codeinstall.sh
installs necessary software etc, user interacts with it only through make
chg/
is the root package directory. The idea of the structure here is to be somewhat
self explanatory.If you want to make source changes, you will likely want to make you activate
the corresponding conda environment (installed and built during chg
installation)
by running
source chg/scripts/defaults.sh
conda activate ${CHG_CONDA_ENV}
We keep a FAQ at https://docs.google.com/document/d/1drCEYYsPs5rCX4BFfU2Px1txLg8FqKNE-Pk4dGINd1A/edit?usp=sharing
If you have the link, you have editing rights -- so please be careful and avoid sharing the link with people outside of the project (or share a readonly version).
Need to: