Add some docstrings

This commit is contained in:
Andras Schmelczer 2022-07-10 13:21:08 +02:00
parent 63a45989f4
commit 2b378114aa
No known key found for this signature in database
GPG key ID: 0EA1BC97D0AB076E
5 changed files with 126 additions and 0 deletions

View file

@ -9,6 +9,30 @@ from ..context import get_context
def save_model(
model: Union[Path, str, object], key: str, *, keep_last_n: Optional[int] = None
) -> str:
"""Save (and optionally serialise) a model in order to use by `use_model`.
The `model` can be a Path or string representing a path in which case the
local file/folder is read and saved using the current LargeFile implementation.
In case `model` is an object, it is serialised using `dill` before uploading it.
Examples:
>>> from great_ai import use_model
>>> save_model(3, 'my_number')
'my_number:...'
>>> @use_model('my_number')
... def my_function(a, model):
... return a + model
>>> my_function(4)
7
Args:
model: The object or path to be uploaded.
key: The model's name.
keep_last_n: If specified, remove old models and only keep the latest n. Directly passed to LargeFile.
Returns:
The key and version of the saved model separated by a colon. Example: "key:version"
"""
file = get_context().large_file_implementation(
name=key, mode="wb", keep_last_n=keep_last_n
)