Batch upsert secara paralel
Pada latihan ini, Anda akan berlatih memasukkan vektor ke indeks Pinecone 'datacamp-index' secara paralel. Anda perlu terhubung ke indeks, melakukan upsert vektor secara batch secara asinkron, dan memeriksa metrik yang diperbarui dari indeks 'datacamp-index'.
Fungsi pembantu chunks() yang Anda buat sebelumnya masih tersedia untuk digunakan:
def chunks(iterable, batch_size=100):
"""A helper function to break an iterable into chunks of size batch_size."""
it = iter(iterable)
chunk = tuple(itertools.islice(it, batch_size))
while chunk:
yield chunk
chunk = tuple(itertools.islice(it, batch_size))
Latihan ini adalah bagian dari kursus
Database Vektor untuk Embeddings dengan Pinecone
Petunjuk latihan
- Inisialisasi klien Pinecone untuk mengizinkan 20 permintaan simultan.
- Lakukan upsert pada vektor di
vectorsdalam batch 200 vektor per permintaan secara asinkron, dengan mengonfigurasi20permintaan simultan. - Cetak metrik terbaru dari indeks Pinecone
'datacamp-index'.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Initialize the client
pc = Pinecone(api_key="____", ____)
index = pc.Index('datacamp-index')
# Upsert vectors in batches of 200 vectors
with pc.Index('datacamp-index', ____) as index:
async_results = [____(vectors=chunk, ____) for chunk in chunks(vectors, batch_size=____)]
[async_result.get() for async_result in async_results]
# Retrieve statistics of the connected Pinecone index
print(____)