CommencezCommencez gratuitement

Regrouper les upserts en parallèle

Dans cet exercice, vous allez vous exercer à ingérer des vecteurs en parallèle dans l'index Pinecone 'datacamp-index'. Vous devrez vous connecter à l'index, insérer (upsert) des vecteurs par lots de façon asynchrone, puis vérifier les mesures mises à jour de l'index 'datacamp-index'.

La fonction utilitaire chunks() que vous avez créée plus tôt 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))

Cette activité fait partie du cours

Créer des applications d'IA avec Pinecone

Voir le cours

Instructions de l’exercice

  • Initialisez le client Pinecone pour autoriser 20 requêtes simultanées.
  • Effectuez l'upsert des vecteurs dans vectors par lots de 200 vecteurs par requête, de manière asynchrone, en configurant 20 requêtes simultanées.
  • Affichez les mesures mises à jour de l'index Pinecone 'datacamp-index'.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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