Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Przekształć wejściowy obiekt iterable w iterator.
  • Podziel it na fragmenty o rozmiarze batch_size, korzystając z modułu itertools.
  • 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))
Edytuj i uruchom kod