Definiowanie funkcji do podziału na fragmenty
Aby móc wsadowo dodawać wektory w powtarzalny sposób, musisz zdefiniować funkcję, która podzieli listę wektorów na fragmenty.
Moduł itertools został już za ciebie zaimportowany.
To ćwiczenie jest częścią kursu
Tworzenie aplikacji AI z Pinecone
Instrukcje do ćwiczenia
- Przekształć wejściowy obiekt
iterablew iterator. - Podziel
itna fragmenty o rozmiarzebatch_size, korzystając z modułuitertools. - Zwróć bieżący fragment za pomocą
yield.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
def chunks(iterable, batch_size=100):
"""A helper function to break an iterable into chunks of size batch_size."""
# Convert the iterable into an iterator
it = ____
# Slice the iterator into chunks of size batch_size
chunk = tuple(itertools.____(it, ____))
while chunk:
# Yield the chunk
____
chunk = tuple(itertools.islice(it, batch_size))