Aan de slagGa gratis aan de slag

Een functie definiëren voor chunking

Om upserts in batches op een reproduceerbare manier te kunnen doen, moet je een functie definiëren die je lijst met vectoren in chunks opsplitst.

De ingebouwde module itertools is al voor je geïmporteerd.

Deze oefening maakt deel uit van de cursus

Vector-databases voor embeddings met Pinecone

Cursus bekijken

Oefeninstructies

  • Zet de invoer iterable om naar een iterator.
  • Snijd it in chunks van grootte batch_size met behulp van de module itertools.
  • Yield de huidige chunk.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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))
Code bewerken en uitvoeren