An open API service indexing awesome lists of open source software.

https://github.com/starwit/starwit-aic-transparency-api

Starwit's implementation of transparency API of AI cockpit research project
https://github.com/starwit/starwit-aic-transparency-api

ai-cockpit aicockpit

Last synced: 5 months ago
JSON representation

Starwit's implementation of transparency API of AI cockpit research project

Awesome Lists containing this project

README

          

# Starwits implementation of AI Cockpit transparency API

Complex software systems that uses AI mechanisms are difficult to understand. This API is part of an effort to add transparency and control to such systems. It is Starwit Technologies' implementation of the transparency interface. It shall provide statistical insights to an AI system's capabilities and give users an easy as possible way to understand, how this system work.

API reference can be found here:

More details can be found at . All shared components necessary for this repo can be found [here](https://github.com/KI-Cockpit/ai-cockpit-api). There you also can find more info about all other activities & results of this project.

## Overview

This implementation aims to be a micro service, that can be deployed into a system landscape, that contains complex AI-based decision mechanism. It is written in Java / Spring Boot and was initially generated by the [OpenAPI Generator](https://openapi-generator.tech) project.

## Starwit's implementation

This component is part of Starwit's implementation for an AI Cockpit. For an overview of all components see [deployment repo](https://github.com/starwit/ai-cockpit-deployment).

## Run Docker image

docker run -it -p 8080:8080 starwit-aicapi-transparency

Once running you can access:

* interactive API at [http://localhost:8080/swagger-ui.html](http://localhost:8080/swagger-ui.html)
* API spec at: [http://localhost:8080/v0/api-docs/](http://localhost:8080/v0/api-docs/)

## Build & run locally

Application can be build and run like so:

```bash
mvn package
java -jar target/starwit-aicapi-transparency-x.y.z.jar
```

This app needs other components to function properly:

* Minio -> upload sbom, pdf & excel reports
* sbom-generator -> create pdf/excel reports from sboms
* ai-cockpit & database

In folder [docker-compose](deployment/docker-compose/) a docker compose file starts all necessary components. This can be started this way:

```bash
docker compose -f start-services-noauth.yaml up
```

To start fresh shutdown all services like so:

```bash
docker compose -f start-services-noauth.yaml down -v
```

For more details how to use Docker compose, [see readme](deployment/docker-compose/Readme.md).

After successful start api documentation is available at:

### Config file

```properties
# sets URL for swagger UI
app.service_uri=http://localhost:8080

# URL for cockpit
cockpit.hostname=http://localhost:8081/ai-cockpit/
# context path module API
cockpit.moduleapi=api/module
# context path AIC functions
cockpit.aicapi=api/aic/modules

# if true sample data will be send to cockpit
scenario.setup=true
# if internal prepackaged data will be imported else folder location
scenario.importFolder=internal

# Authentication against IdP
cockpit.auth.enabled=true
cockpit.auth.client_id=aicockpit
cockpit.auth.username=username
cockpit.auth.password=secret
cockpit.auth.url=https://hostname/auth/realms/default/protocol/openid-connect/token
```

## Contact & Contribution

The “KI-Cockpit” (AI Cockpit) project was funded by the Federal Ministry of Labor and Social Affairs. See [project repo](https://github.com/ki-cockpit) for more details..

BMAS Logo

## License

This software is licensed under AGPL and license text can be found at:

More info about Starwit can be found here:

## Research Links

* [Implementing AI Bill of Materials (AI BOM) with SPDX 3.0](https://arxiv.org/pdf/2504.16743)
* [Hugging Face AI sBOM Generator](https://huggingface.co/spaces/aetheris-ai/aibom-generator)
* [SPDX Meetings](https://github.com/spdx/meetings?tab=readme-ov-file#tech-team-meetings)
* [SPDX Incident Reporting](https://www.oecd.org/en/publications/towards-a-common-reporting-framework-for-ai-incidents_f326d4ac-en.html)