Skip to content

starwit/starwit-aic-transparency-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

121 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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: https://gitlab.opencode.de/ki-cockpit/ai-cockpit-api/-/blob/main/api/transparency/ai-cockpit-transparency.yml?ref_type=heads

More details can be found at https://www.kicockpit.eu/. All shared components necessary for this repo can be found here. 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 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.

Run Docker image

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

Once running you can access:

Build & run locally

Application can be build and run like so:

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 a docker compose file starts all necessary components. This can be started this way:

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

To start fresh shutdown all services like so:

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

For more details how to use Docker compose, see readme.

After successful start api documentation is available at: http://localhost:8080/swagger-ui.html

Config file

# 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 for more details..

BMAS Logo

License

This software is licensed under AGPL and license text can be found at: https://github.com/starwit/starwit-aic-transparency-api/blob/main/LICENSE

More info about Starwit can be found here: https://starwit-technologies.de/

Research Links

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors