Copyright 2024-2025 GT-ARC & DAI-Labor, TU Berlin
- Contributors: Tobias Küster, Robert Strehlow, Oskar Kupke
This repository contains a number of example OPACA Agent Containers. It is in irregular intervals updated with new examples, while the main development work on those examples is done is several private repositories.
Besides being useful applications for the OPACA framework, each of the examples showcases some core functionality of OPACA, such as different implementing platforms (here Python and Kotlin), custom routes and ports, using Container Login to communicate with external APIs, and more.
Most of the containers and functions were developed with the OPACA LLM UI 'SAGE' in mind, but they can also be used with different OPACA tools or as components in other services.
Provides actions to interact with an Exchange API to fetch and write e-mails and calendar events. The Exchange-Server and User can be configured (see readme in the folder). If no user is configured, OPACA Container Login can be used to login to personal mailboxes for each individal user. It also comes with a dummy-mode that does not access an actual Exchange server but comes with a very minimalistic mail- and calendar web UI instead.
Used OPACA-Features:
- Kotlin-Implementation
- Container-Login
- Container-Parameters
- Custom Web UI (dummy mode)
Can be used to interface with a GitLab instance, to fetch a user's projects, issues and merge requests, among others. The GitLab server can be configured and users can login via OPACA Container Login with their API token (see readme in the folder).
Used OPACA-Features:
- Python-Implementation
- Container-Login
- Container-Parameters
A proxy for several external API for different information services, including stock prices, weather, searching on Google and Wikipedia, and summarizing individual websites. The latter is done using internal LLM calls using the OpenAI API. For most of th functionalities, API keys have to be provided via container-parameters (see readme and container.json).
Used OPACA-Features:
- Python-Implementation
- Container-Parameters
Different services that can be used to create simple plots and diagrams (such as bar, line, or pie charts) for data passed in as parameters to the actions. The plots are stored within the container and can be displayed/embedded using the URL returned by the respective service calls.
Used OPACA-Features:
- Python-Implementation
- Container-Parameters
Change into the respective container directory and run docker build -t $(basename $(pwd)) . in order to build the docker container using the directory name as image name (mind the trailing dot!). Then, build and run an OPACA Runtime Platform (see https://github.com/GT-ARC/opaca-core) and POST the containers. You can use the JSON files found in the resources folders as template and construct a post-container instruction around those, in particular for determining the values of any container configuration parameters.
Note: The exchange-agent has to be built with mvn package first, whereas for the Python-based containers, building the Docker container is enough.