Model
- Wrap a standard AI model with functionality necessary for SuperDuperDB
- Configure validation and training of a model on database data
Dependencies
(Optional dependencies)
Usage pattern
Note that Model
is an abstract base class which cannot be called directly.
To use Model
you should call any of its downstream implementations,
such as ObjectModel
or models in the AI-integrations.
Important notes
Model
instances can output data not-usually supported by your database.
This data will be encoded by default by pickle
, but more control may be added
by adding the parameters datatype=...
or output_schema=...
.
Implementations​
Here are a few SuperDuperDB native implementations:
ObjectModel
Use a self-built model (object
) or function with the system:
from superduperdb import ObjectModel
m = ObjectModel(
'my-model',
object=lambda x: x + 2,
)
db.apply(m)
QueryModel
Use a SuperDuperDB query to extract data from db
from superduperdb.components.model import QueryModel
query = ... # build a select query
m = QueryModel('my-query', select=query, key='<key-to-extract>')
db.apply(m)
APIModel
Request model outputs hosted behind an API:
from superduperdb.components.model import APIModel
m = APIModel('my-api', url='http://localhost:6666?token={MY_DEV_TOKEN}&model={model}&text={text}')
db.apply(m)
SequentialModel
Make predictions on the basis of a sequence of models:
from superduperdb.components.model import SequentialModel
m = SequentialModel(
'my-sequence',
models=[
model1,
model2,
model3,
]
)
db.apply(m)
See also