Skip to content

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).