Thank you for your interest in contributing to the dff-llm-integration project! We welcome contributions from the community to help improve and expand this Chatsky LLM-Autoconfig tool.
- Create a branch for your work. Branch names should start with the goal they are created (
feat
,fix
etc.) - Checkout to your branch
git checkout <your_branch_name>
- Set up the development environment:
poetry install --with docs,lint,tests
The environment will be activated automatically.
If you want to delete all the virtual environments, run
poetry env remove --all
We use poetry.lock to ensure that all builds with the same lock file have the same 3rd-party library versions. This lets us know whether workflow fails due to our part or because a dependency update breaks something.
In order to update versions specified in poetry.lock, run
poetry update
- Make your changes and test hypothesis in the
./experiments
folder as it is described in Conducting experiments section - Write if needed and run the tests from the
./tests
folder via
poetry run pytest tests/<your_tests_directory>
- Ensure linting using commands as
poetry run poe lint
poetry run poe format
- Create a pull request with clear description of fixed and features
Please, include short description about your PR in it, give it a simple and inderstandable name. You can always create a draft PR and request review before you request to merge it into main repository.
Until any of the code make it way to the main repo it should be tested in ./experiments
folder.
Each of the experiments must lay in the separate folder with name like <YYYY.MM.DD>_<experiment_name>
.
Inside of this directory must be a report.md
file with results, metrics, future plans and other relevant information.
!!! Do not put images into the folder you are commiting, use GoogleDrive instead !!!
- Follow PEP 8 style guide for Python code
- Write clear and concise comments
- Include docstrings for functions and classes
- Write unit tests for new features or bug fixes
If you encounter any bugs or have feature requests, please open an issue on the GitHub repository. Provide as much detail as possible, including:
- A clear and descriptive title
- Steps to reproduce the issue
- Expected behavior
- Actual behavior
- Graph visulisation if possible
We are currently working on supporting various types of graphs. Here's the current status:
Supported types of graphs:
- chain
- single cycle
Currently unsupported types:
- single node cycle
- multi-cycle graph
- incomplete graph
- complex graph with cycles