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)
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:
idis 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-learncatboostfeature-enginelightgbmimbalanced-learnmlxtendscikit-legoxgboost
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file aiondemand-0.3.0.tar.gz.
File metadata
- Download URL: aiondemand-0.3.0.tar.gz
- Upload date:
- Size: 255.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4650ce974d2da234160f2e52fcf83dd92ff425911e9d30490bb5d4e202c6008d
|
|
| MD5 |
7c33e83bbb6f4b47ef1bcfb0b17e2dfa
|
|
| BLAKE2b-256 |
593cad8392016e934c2d8b7a5af6f2a491ab02c6dcba7dc44b9388d9d82e07dd
|
Provenance
The following attestation bundles were made for aiondemand-0.3.0.tar.gz:
Publisher:
release.yaml on aiondemand/aiondemand
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aiondemand-0.3.0.tar.gz -
Subject digest:
4650ce974d2da234160f2e52fcf83dd92ff425911e9d30490bb5d4e202c6008d - Sigstore transparency entry: 1459616114
- Sigstore integration time:
-
Permalink:
aiondemand/aiondemand@e2b6f618f22322791e76895e67bb52f7f523e3ed -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/aiondemand
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@e2b6f618f22322791e76895e67bb52f7f523e3ed -
Trigger Event:
release
-
Statement type:
File details
Details for the file aiondemand-0.3.0-py3-none-any.whl.
File metadata
- Download URL: aiondemand-0.3.0-py3-none-any.whl
- Upload date:
- Size: 54.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
150d1d3f3786375e11c5460605f9496246eddd85905799796b27403de35aa3f1
|
|
| MD5 |
e0cd7efc9e8e12b0ab90298539d1f9c2
|
|
| BLAKE2b-256 |
30b38d89ddd8c750b2505d77e83a92483dd8f699fb87c6eeef3f7820abf3b477
|
Provenance
The following attestation bundles were made for aiondemand-0.3.0-py3-none-any.whl:
Publisher:
release.yaml on aiondemand/aiondemand
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aiondemand-0.3.0-py3-none-any.whl -
Subject digest:
150d1d3f3786375e11c5460605f9496246eddd85905799796b27403de35aa3f1 - Sigstore transparency entry: 1459616420
- Sigstore integration time:
-
Permalink:
aiondemand/aiondemand@e2b6f618f22322791e76895e67bb52f7f523e3ed -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/aiondemand
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yaml@e2b6f618f22322791e76895e67bb52f7f523e3ed -
Trigger Event:
release
-
Statement type: