Getting Started


In general, UCE currently consists of several microservices, each dockerized and orchestrated via Docker Compose to form the application that is UCE. Among these services, some are obligatory (must-haves) and some are optional (specific use cases).

Service Description Obligatory
Web Portal The web portal provides access to UCE for the user. It is the heart of UCE, communicating with and orchestrating all other services.
PostgreSQL DB The PostgreSQL database is the main database within UCE. It stores all data in a structured way and adds vector support through the pgvector extension.
Corpus Importer The Importer handles the importing of UIMA-annotated corpora. Given a path, it will load UIMA files and project them into the UCE environment. Without the importer, there is currently no other way to get data into UCE (IO REST endpoints in UCE exist, but aren't production-ready yet).
RAG Service The RAG service is a Python web server that primarily enables access to machine learning and AI models. It is required to calculate embeddings and enable the RAG bot.
Sparql Service The (Fuseki) Sparql service allows the integration of ontological hierarchies in RDF or OWL format into UCE's searches.
RAG Service The RAG service is a Python web server that primarily enables access to machine learning and AI models. It is required to calculate embeddings and enable the RAG bot.
S3 MinIO Storage The MinIO storage enables the storage of imported UIMA documents, allowing users to download any document along with its annotations in XMI format.
Keycloak The Keycloak authentication server manages UCE’s user and role systems. Once integrated, UCE provides user logins and access restrictions. The Keycloak service includes its own admin portal and a comprehensive management interface.

In the following, you will learn how to set up these services and how to get started with your own UCE instance for your data.

Structure

The following sections are split into two parts:

  • Setting up UCE as a user (Docker).
  • Setting up UCE as an active developer (local).

Depending on your use case, you will either set up the development environment or simply build UCE, import your data, and use it.