Parçalama (chunking) için bir fonksiyon tanımlama
Upsert işlemlerini tekrarlanabilir bir şekilde toplu (batch) yapabilmek için, vektör listesini parçalara ayıran bir fonksiyon tanımlaman gerekecek.
Yerleşik itertools modülü senin için zaten içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
Pinecone ile Vektör Veritabanları ve Embeddings
Egzersiz talimatları
iterablegirdisini bir yineleyiciye dönüştür.itöğesiniitertoolsmodülünü kullanarakbatch_sizeboyutunda parçalara ayır.- Mevcut parçayı yield et.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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))