add example for pulling with progress bar

This commit is contained in:
Michael Yang 2024-01-17 14:37:07 -08:00
parent f00c93eab3
commit a01b48814a

View File

@ -0,0 +1,23 @@
# pip install tqdm
from tqdm import tqdm
from ollama import pull
current_digest, bars = '', {}
for progress in pull('mistral', stream=True):
digest = progress.get('digest', '')
if digest != current_digest and current_digest in bars:
bars[current_digest].close()
if not digest:
print(progress.get('status'))
continue
if digest not in bars and (total := progress.get('total')):
bars[digest] = tqdm(total=total, desc=f'pushing {digest[7:19]}', unit='B', unit_scale=True)
if completed := progress.get('completed'):
bars[digest].update(completed - bars[digest].n)
current_digest = digest