A multilingual rag pipeline with benchmarking, and a test ui application included.
- Clone the project locally.
- install poetry, the build tool for this project, follow the guide
- To install the dependencies run
poetry install
- Install and upgrade pre-commit hooks
poetry install
poetry run pre-commit install
- Copy the .env.sample file into a file .env, and fill in the values
- To get an access token for discord follow this guide
- To get access to the firebase db, contact me in discord
- To add a package to the project use
poetry add [package name]
- To add a dev package use
poetry add openai --group dev
- Make sure that your LSP uses the poetry venv, in vs code click bottom right at 'Python' and select Poetry
We are sorting the imports to minimize diffs when merging
To sort the imports in the whole project manually use: poetry run isort .
We are formatting the codebase to ensure consistent coding style
To format the codebase use: poetry run black .
To check copatibilty with the PEP8 standard we lint the code
To lint the whole projet manually use: poetry run flake8 .
- Run
poetry run format
to sort the imports and format the files - Run
poetry run lint
to lint all files - Run
poetry run type-check
to typecheck all files - Run
poetry run check
to do all of the above in sequence
Install using poetry run pre-commit install
After this on every commit your commit will be checked for formatting, linting and typing, to ensure atomic commits
If you want to avoid the check for some reason you can use th --no-verify
flag, for example
git commit -am"Testing no verify" --no-verify
- You should run
poetry install
if a change involvespyproject.toml
- If you see a change in
.pre-commit-config.yaml
you sould reinstall the pre-commit hooks If someting breaks in your workflow, first make sure that your are up to date. After agit pull
you should run
poetry install
poetry run pre-commit install