The Project
The Base Structure
The LLM-Server project itself consists of this base file structure, broken down to only the most important files:
.
| pyproject.toml
| compose.yml
|
└───docker/
| | Dockerfile
| | documentation.Dockerfile
| | training.Dockerfile
| | ...
└───src/
| | (Source Code)
| └───resources/
| | exhibit-list.yml
| | ...
|
└───test/
| | (Test files)
The Dockerfiles
In the docker
-Folder, you'll notice three Dockerfiles. Each of them serves a different purpose. The normal Dockerfile
is for the LLM-Server itself, while the documentation.Dockerfile
is used for developing the documentation. Those two Dockerfiles have seperate dev containers.
The training.Dockerfile
is for training TTS-Models. It does not have a dev container.
The Source Folder
In the src
-Folder, the program's source code is stored. Because python projects normally don't expect you to have a src
folder, we needed to set our pyproject.toml
accordingly, such that it recognizes the src
folder as the project root.
Testing
Tests are done in the test
-Folder.
The Resource Folder
The resources go in resources
. Resources are basically everything that needs to be read/loaded that isn't python code. For instance, prompt-data that we store in text files. Or configuration files. To provide unified access, there's a method in util.py
with which you can get the file path of a resource: get_resource(path)
.