Skip to main content

Obtain and share AI resources with ease

Project description

AI-on-Demand - obtain and share AI resources with ease

  • quick instantiation of AI models from string IDs across the ecosystem
  • cross-platform metadata catalogue for papers, projects, datasets, models
  • marketplace features for sharing models and assets (under development)

A web interface for assets is available through the AIoD catalogue and the Metadata Catalogue Editor (under construction)

Overview AIoD Homepage · Tutorials · Release Notes
Open Source License: MIT
Community !discord
CI/CD github-actions
Code !pypi !python-versions

Installation

Install from PyPI via:

$ pip install aiondemand

Quick start

AI model instantiation

Also see the AI model instantiation tutorial

aiod.get(id: str) is the key entry point:

  • id is a unique string describing a model
  • return is the python object, or an exception informing the user of required dependencies
from aiod import get

clf = get("RandomForestClassifier(n_estimators=42)")
clf

directly constructs the random forest from scikit-learn

RandomForestClassifier(n_estimators=42)

Works across the ecosystem!

from aiod import get

clf = get("XGBClassifier()")
clf

... constructs the XGBClassifier, or raises an informative error message to install xgboost in the environment (if not available)

XGBClassifier()

Complex pipelines and composites are supported out-of-the-box:

spec = """
pipe = Pipeline(steps=[
    ("imputer", SimpleImputer(strategy="mean")),
    ("scaler", StandardScaler()),
    ("classifier", RandomForestClassifier(n_estimators=100))])
cv = KFold(n_splits=5, shuffle=True, random_state=42)

return GridSearchCV(
    estimator=pipe,
    param_grid=[{
        "classifier__max_depth": [5, 10],
        "classifier__min_samples_split": [2, 5],
    },
    ],
    cv=cv,
    )
"""

get(spec)
  • no more hassle with import statements!
  • share your AI model specs as easy-to-handle strings!

Indexed libraries

The following libraries are indexed - the scope is expanding, roadmap contributions are welcome!

scikit-learn tabular estimators
  • scikit-learn
  • catboost
  • feature-engine
  • lightgbm
  • imbalanced-learn
  • mlxtend
  • scikit-lego
  • xgboost
Probabilistic supervised learning and survival modelling
  • skpro
Time series, forecasting
  • sktime

AI asset catalogue search

Also see the AI metadata catalogue tutorial

You can directly access endpoints through the Python API, for example to browse datasets:

import aiod

aiod.datasets.get_list()

And results will be returned as a Pandas dataframe (though the data_format may be used to get JSON instead):

      platform platform_resource_identifier                    name       date_published                                            same_as  is_accessible_for_free  ...  relevant_link  relevant_resource relevant_to research_area scientific_domain identifier
0  huggingface       acronym_identification  acronym_identification  2022-03-02T23:29:22  https://huggingface.co/datasets/acronym_identi...                    True  ...             []                 []          []            []                []          1
...
9  huggingface              allegro_reviews         allegro_reviews  2022-03-02T23:29:22    https://huggingface.co/datasets/allegro_reviews                    True  ...             []                 []          []            []                []         10

[10 rows x 30 columns]

You can even query the elastic search endpoints:

aiod.publications.search(query="Robotics")
      platform platform_resource_identifier                                               name date_published                                            same_as is_accessible_for_free  ... relevant_resource relevant_to      research_area  scientific_domain  type  identifier
0  robotics4eu                         1803  Responsible Robotics & non-tech barriers t...           None  https://www.robotics4eu.eu/publications/respon...                   None  ...                []          []  [other materials]  [other materials]  None           4

[1 rows x 36 columns]

Contributing

Interested in contributing? Check out the contributing guidelines, then start with the Developer Setup Guide to set up your local development environment. Check out the complete documentation here: https://aiondemand.github.io/aiondemand/developer_setup By contributing to this project, you agree to abide by our Code of Conduct.

Credits

The aiondemand package is being developed with funding from EU’s Horizon Europe research and innovation program under grant agreement No. 101070000 (AI4EUROPE). Not all contributors are affiliated with this funding.

cookiecutter and the py-pkgs-cookiecutter template were used to create the repository structure.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiondemand-0.3.1.tar.gz (271.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aiondemand-0.3.1-py3-none-any.whl (70.6 kB view details)

Uploaded Python 3

File details

Details for the file aiondemand-0.3.1.tar.gz.

File metadata

  • Download URL: aiondemand-0.3.1.tar.gz
  • Upload date:
  • Size: 271.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiondemand-0.3.1.tar.gz
Algorithm Hash digest
SHA256 e92a5279e4cb7ecc3b3107cf80efff561f41868296a0e318c17112303a1bf6f8
MD5 543aff3344963fea75b914a6398d1363
BLAKE2b-256 6c26f4af68c0478f327019fb74b38b4a146bececd3b45ee93aadb92e6735b174

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiondemand-0.3.1.tar.gz:

Publisher: release.yaml on aiondemand/aiondemand

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aiondemand-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: aiondemand-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 70.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aiondemand-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 10180fde4a5c41ea84ede966d3337192df9104c6c92ce42255c3ccd0ee296eee
MD5 df08d85f84d0153ba5b819e831a09cce
BLAKE2b-256 c916fe590d225e03a257cb20e027fe4f5c90e7e3e8fa5b05896160063e811479

See more details on using hashes here.

Provenance

The following attestation bundles were made for aiondemand-0.3.1-py3-none-any.whl:

Publisher: release.yaml on aiondemand/aiondemand

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page