resume download of models from directory
This commit is contained in:
parent
35f202f573
commit
a86a4f8c26
2 changed files with 28 additions and 12 deletions
|
@ -175,12 +175,18 @@ def search(*args, **kwargs):
|
||||||
|
|
||||||
|
|
||||||
def pull(*args, **kwargs):
|
def pull(*args, **kwargs):
|
||||||
model.pull(model_name=kwargs.pop('model'), *args, **kwargs)
|
try:
|
||||||
print("Up to date.")
|
model.pull(model_name=kwargs.pop('model'), *args, **kwargs)
|
||||||
|
print("Up to date.")
|
||||||
|
except Exception as e:
|
||||||
|
print(f"An error occurred: {e}")
|
||||||
|
|
||||||
|
|
||||||
def run(*args, **kwargs):
|
def run(*args, **kwargs):
|
||||||
name = model.pull(model_name=kwargs.pop('model'), *args, **kwargs)
|
try:
|
||||||
kwargs.update({"model": name})
|
name = model.pull(model_name=kwargs.pop('model'), *args, **kwargs)
|
||||||
print(f"Running {name}...")
|
kwargs.update({"model": name})
|
||||||
generate(*args, **kwargs)
|
print(f"Running {name}...")
|
||||||
|
generate(*args, **kwargs)
|
||||||
|
except Exception as e:
|
||||||
|
print(f"An error occurred: {e}")
|
||||||
|
|
|
@ -123,16 +123,26 @@ def download_file(download_url, file_name, file_size):
|
||||||
|
|
||||||
|
|
||||||
def pull(model_name, *args, **kwargs):
|
def pull(model_name, *args, **kwargs):
|
||||||
maybe_existing_model_location = MODELS_CACHE_PATH / str(model_name + '.bin')
|
|
||||||
if path.exists(model_name) or path.exists(maybe_existing_model_location):
|
|
||||||
# a file on the filesystem is being specified
|
|
||||||
return model_name
|
|
||||||
# check the remote model location and see if it needs to be downloaded
|
# check the remote model location and see if it needs to be downloaded
|
||||||
url = model_name
|
url = model_name
|
||||||
file_name = ""
|
file_name = ""
|
||||||
if not validators.url(url) and not url.startswith('huggingface.co'):
|
if not validators.url(url) and not url.startswith('huggingface.co'):
|
||||||
url = get_url_from_directory(model_name)
|
try:
|
||||||
file_name = model_name
|
url = get_url_from_directory(model_name)
|
||||||
|
except Exception as e:
|
||||||
|
# may not have been able to check remote directory, return now
|
||||||
|
return model_name
|
||||||
|
if url is model_name:
|
||||||
|
# this is not a model from our directory, so can't check remote
|
||||||
|
maybe_existing_model_location = MODELS_CACHE_PATH / str(model_name + '.bin')
|
||||||
|
if path.exists(model_name) or path.exists(maybe_existing_model_location):
|
||||||
|
# a file on the filesystem is being specified
|
||||||
|
return model_name
|
||||||
|
raise Exception("unknown model")
|
||||||
|
else:
|
||||||
|
# this is a model from our directory, check remote
|
||||||
|
file_name = model_name
|
||||||
|
|
||||||
if not (url.startswith('http://') or url.startswith('https://')):
|
if not (url.startswith('http://') or url.startswith('https://')):
|
||||||
url = f'https://{url}'
|
url = f'https://{url}'
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue