Mendefinisikan fungsi untuk pemecahan ke dalam potongan
Agar dapat melakukan upsert secara batch dengan cara yang dapat direproduksi, Anda perlu mendefinisikan fungsi untuk membagi daftar vektor Anda menjadi potongan-poton kecil.
Modul bawaan itertools telah diimpor untuk Anda.
Latihan ini adalah bagian dari kursus
Database Vektor untuk Embeddings dengan Pinecone
Petunjuk latihan
- Ubah masukan
iterablemenjadi sebuah iterator. - Iris
itmenjadi potongan berukuranbatch_sizemenggunakan modulitertools. - Hasilkan potongan saat ini.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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))