jozu-ai / kitops

Tools for easing the handoff between AI/ML and App/SRE teams.
https://KitOps.ml
Apache License 2.0
339 stars 34 forks source link

Add Ability to attach metadata to artifacts #366

Closed gorkem closed 2 months ago

gorkem commented 3 months ago

Describe the problem you're trying to solve It should be possible to attach metadata to artifacts (models, datasets) that may be coming from third-party tools and store them in the kitfile. This metadata should be easily separable and organized for specific purposes or tools.

Describe the solution you'd like I would like to add key-value pairs as parameters to models and datasets that are easily separated for specific purposes, tools, etc. This will allow us to include metadata from different sources in a clear and organized manner.

model:
    name: ModelName
    path: models/model.h5
    parameters:
      test-parameters:
         learning_rate: 0.001
        epochs: 100
        batch_size: 32
      mlflow:
        created_at: 2023-02-01
        updated_at: 2023-02-10
        mlflow_specific_key: mlflow_value
      custom-tool:
        version: 1.2.1
        tested: true

Similarly for datasets

datasets:
  - name: DatasetName
    path: data/dataset.csv
    metadata:
      source_info:
        source: data_source_name
        size: 100MB
        format: CSV
        features: 10
        records: 1000
      tool1:
        created_at: 2023-01-01
        updated_at: 2023-01-15
      tool2:
        checksum: abcdef123456
        validated: true

Describe alternatives you've considered An alternative could be to use a more generic key-value structure without separating by specific tools or purposes, but this would reduce clarity and make it harder to manage and interpret the metadata.

Additional context