# Template für ein Agentensystem ## Docker Images Es gibt unter viele verschiedene Docker Images. Die Images stellen die vorbereitete Umgebung da. Folgende Images sind verfügbar: - `base-image` - Basis für alle Agenten, beinhaltet eine Menge von relevanten Tools (Python und Pakete mit z.B. PyTorch, ...) - Tags `:cpu-arm64 :cpu-amd64 :gpu-amd64` (Die `cpu-*` Variante sind für das lokale Entwickeln und beinhalten keine NVIDIA CUDA Treiber, sind aber sonst identisch. Die `gpu-*` Variate kann später auf dem Evaluationsserver ausgeführt werden, oder wenn man lokal einen geeignete GPU hat, das Image ist durch die Treiber sehr groß. Die `*-arm64` Variante ist insb. für aktuelle Apple-Prozessoren gedacht.) - Das Image wird als Basis für `base-agent` benutzt, muss also i.A. nicht direkt genutzt werden. - `management` - Das Image für den Management Container. - Tags `:arm64, :amd64` (Alles CPU Varianten, `arm64` ist wieder insb. für aktuelle Apple-Prozessoren und `amd64` für alle anderen.) - Hier muss nichts angepasst werden. Der Container muss nur lokal und später auf dem Server laufen und stellt dann das Management für die einzelnen Agenten (auch wieder einzelne Container) bereit. - `base-agent` - In diesem Image sind die Agenten zu implementieren bzw. darauf aufzubauen. - Tags `:cpu-arm64 :cpu-amd64 :gpu-amd64` (Analog zu `base-image`) - Dieses Repository bildet einen einfachen und beispielhaften Agenten ab und soll als Basis dienen. > **Generell gilt:** > Die Images sind größtenteils neu. > Auch das Management und Agenten-Framework wurde neu entworfen, d.h., es können (und werden) noch ein paar Käfer irgendwo lauern. > Bugs also bitte melden und bei Problemen mit dem System nachfragen (magnus.bender@uni-hamburg.de). Es wird im Laufe der Zeit sicherlich Updates der verschiedenen Images geben. Aus diesem Grund gibt bei den Tags Suffixe wie z.B. `2024-10-04` mit dem Datum des Build eines Images. Somit bleiben auch alte Versionen erreichbar, auch wenn am Ende die aktuelle Version ohne Suffix genutzt werden soll. ## Struktur einen Agenten > Dieses Repository ist so konzipiert, dass es geclont werden kann und dann zu einem Angenten *umgebaut* wird. ... TODO