CommencerCommencer gratuitement

Regroupement des mises à jour en parallèle

Dans cet exercice, vous allez vous entraîner à ingérer des vecteurs dans l'index Pinecone d''datacamp-index', et ce, de manière parallèle. Vous devrez vous connecter à l'index, insérer ou mettre à jour les vecteurs par lots de manière asynchrone, puis vérifier les métriques mises à jour de l'index 'datacamp-index'.

La fonction d'aide chunks() que vous avez créée précédemment est toujours disponible :

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))

Cet exercice fait partie du cours

Bases de données vectorielles pour les intégrations avec Pinecone

Afficher le cours

Instructions

  • Veuillez initialiser le client Pinecone afin d'autoriser 20 requêtes simultanées.
  • Insérez les vecteurs dans vectors par lots de 200 vecteurs par requête de manière asynchrone, en configurant 20 requêtes simultanées.
  • Veuillez imprimer les indicateurs actualisés de l'indice Pinecone d''datacamp-index'.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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(____)
Modifier et exécuter le code