Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Zainicjalizuj klienta Pinecone, zezwalając na 20 jednoczesnych żądań.
  • Wgraj wektory z listy vectors partiami po 200 wektorów na żądanie asynchronicznie, konfigurując 20 jednoczesnych żą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(____)
Edytuj i uruchom kod