Równoległe wgrywanie danych partiami
W tym ćwiczeniu przećwiczysz wgrywanie wektorów do indeksu Pinecone 'datacamp-index' w trybie równoległym. Nawiążesz połączenie z indeksem, wgrasz wektory partiami asynchronicznie, a następnie sprawdzisz zaktualizowane statystyki indeksu 'datacamp-index'.
Funkcja pomocnicza chunks(), którą wcześniej utworzyłeś(-aś), jest nadal dostępna:
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))
To ćwiczenie jest częścią kursu
Tworzenie aplikacji AI z Pinecone
Instrukcje do ćwiczenia
- Zainicjalizuj klienta Pinecone, zezwalając na 20 jednoczesnych żądań.
- Wgraj wektory z listy
vectorspartiami po 200 wektorów na żądanie asynchronicznie, konfigurując20jednoczesnych żądań. - Wyświetl zaktualizowane statystyki indeksu Pinecone
'datacamp-index'.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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(____)