Library to log your Machine Learning datasets to Refuel Platform
Project description
Refuel Python API
This is the Refuel.ai Python client library. The primary use for this library is to log your machine learning datasets to the Refuel platform. More features coming soon!
Installation
You can install this library using pip
:
pip install refuel
Usage
Make sure you have a valid API key from Refuel (shared with your team during onboarding). Contact us at support@refuel.ai if you need help.
Initialization:
Initialize the Refuel client with your API key. This can be done in one of two ways:
import refuel
# Assuming you've set `REFUEL_API_KEY` in your env,
# init() will pick it up automatically
refuel_client = refuel.init()
Alternatively, specify it as an explicit option:
import refuel
options = {
"api_key": "<YOUR_API_KEY>"
}
refuel_client = refuel.init(**options)
Logging data
Log a single prediction event (no ground truth)
refuel_client.log(
model_name='my-model-name',
dataset_name='my-dataset-name',
x={'id': 'id1', 'image_url': 's3://<bucket>/<path>', 'embedding': [0.42, -0.13, ...]},
y_pred={'scores': {'cat': 0.92, 'dog': 0.08}, 'label': 'cat'},
metadata={'camera_id': 'camera1'}
)
Log a single prediction event (with ground truth)
refuel_client.log(
model_name='my-model-name',
dataset_name='my-dataset-name',
x={'id': 'id2', 'image_url': 's3://<bucket>/<path>', 'embedding': [0.35, -0.27, ...]},
y_pred={'scores': {'cat': 0.12, 'dog': 0.88}, 'label': 'dog'},
y_true={'label': 'cat'},
metadata={'camera_id': 'camera1'}
)
Log a single prediction event (ground truth becomes available at a later point)
# This will be joined with the rest of the event logged previously
refuel_client.log(
model_name='my-model-name',
dataset_name='my-dataset-name',
x={'id': 'id1'},
y_true={'label': 'cat'},
metadata={'camera_id': 'camera1'}
)
Log a batch of prediction events
# List of events to be logged.
events = [{'x': ..., 'y_pred': ..., 'y_true': ..., 'metadata': ...}]
refuel_client.log_batch(
model_name='my-model-name',
dataset_name='my-dataset-name',
events=events
)
Log a dataset stored in S3 with an s3 uri
refuel_client.log_dataset(
model_name='my-model-name',
dataset_name='my-dataset-name',
cloud_uri='s3://bucket/path/to/object.type',
dataset_config={'type': 'CSV', 'delimiter': '\t'}
)
Log a dataset stored in GCS with a GCS uri
refuel_client.log_dataset(
model_name='my-model-name',
dataset_name='my-dataset-name',
cloud_uri='gs://bucket/path/to/object.type',
dataset_config={'type': 'CSV', 'delimiter': '\t'}
)
Log a dataset stored in S3 or GCS with a pre-signed url
refuel_client.log_dataset(
model_name='my-model-name',
dataset_name='my-dataset-name',
cloud_uri='https://bucket.s3.amazonaws.com/path/to/object.type?AWSAccessKeyId=1234&Signature=1234',
dataset_config={'type': 'CSV', 'delimiter': '\t'}
)
Querying data
Query events table
# Query events directly from a dataset
refuel_client.query_events(
model_name='my-model-name',
dataset_name='my-dataset-name',
time_start='2022-07-01',
time_end='2022-08-02.',
filters=[{"field": "column-name", "operator": "=", "value": "1"}],
order_by="ordering-column",
offset=1234,
max_events=1234
)
Query annotation queue
# Query events from the annotation queue
refuel_client.query_annotation_queue(
model_name='my-model-name',
queue_name='my-queue-name',
time_start='2022-07-01',
time_end='2022-08-02.',
filters=[{"field": "column-name", "operator": "=", "value": "1"}],
order_by="ordering-column",
offset=1234,
max_events=1234
)
Query similar events
# Query events similar to passed event
refuel_client.query_similar_events(
model_name='my-model-name',
refuel_uuid='refuel-uuid',
embedding_column='embedding-column',
dataset_name='my-dataset-name',
time_start='2022-07-01',
time_end='2022-08-02.',
filters=[{"field": "column-name", "operator": "=", "value": "1"}],
max_events=1234
)
Questions?
Reach out to us at support@refuel.ai with any questions!
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
refuel-0.12.0.tar.gz
(11.2 kB
view hashes)
Built Distribution
refuel-0.12.0-py3-none-any.whl
(10.4 kB
view hashes)