pinecone-cli

--- Guide pour utiliser la CLI Pinecone (pc) pour gérer les ressources Pinecone depuis le terminal. La CLI prend en charge TOUS les types d'index (standard, integrated, sparse) et toutes les opérations vectorielles — contrairement au MCP qui ne prend en charge que les index integrated. À utiliser pour les opérations par lot, la gestion des vecteurs, les sauvegardes, les namespaces, l'automatisation CI/CD et le contrôle complet des ressources Pinecone.

npx skills add https://github.com/pinecone-io/skills --skill pinecone-cli

Interface de ligne de commande Pinecone (pc)

Gérez Pinecone depuis le terminal. L'interface de ligne de commande est particulièrement utile pour les opérations vectorielles sur tous les types d'index — quelque chose que le MCP ne peut actuellement pas faire.

Interface de ligne de commande vs MCP

CLI MCP
Types d'index Tous (standard, intégré, sparse) Intégré uniquement
Opérations vectorielles (upsert, query, fetch, update, delete)
Recherche textuelle sur les index intégrés
Sauvegardes, espaces de noms, gestion org/projet
CI/CD / scripting

Configuration

Installation (macOS)

brew tap pinecone-io/tap
brew install pinecone-io/tap/pinecone

Autres plates-formes (Linux, Windows) — téléchargez depuis GitHub Releases.

Authentification

# Interactif (recommandé pour le développement local)
pc login
pc target -o "my-org" -p "my-project"

# Compte de service (recommandé pour CI/CD)
pc auth configure --client-id "$PINECONE_CLIENT_ID" --client-secret "$PINECONE_CLIENT_SECRET"

# Clé API (test rapide)
pc config set-api-key $PINECONE_API_KEY

Vérifier le statut : pc auth status · pc target --show

Remarque pour les sessions d'agent : Si vous devez exécuter pc login dans une boucle d'agent, le lien d'authentification du navigateur peut ne pas s'afficher correctement. Il est préférable de s'authentifier avant de démarrer une session d'agent. Exécutez pc login directement dans votre terminal, puis invoquez l'agent une fois que vous êtes authentifié.

L'authentification de l'interface de ligne de commande ne définit pas PINECONE_API_KEY

pc login authentifie l'outil CLI lui-même — il ne définit pas PINECONE_API_KEY dans votre environnement. Les scripts Python, les SDK Node.js et autres outils qui utilisent le SDK Pinecone nécessitent que PINECONE_API_KEY soit défini séparément.

Utilisez l'interface de ligne de commande pour créer une clé et l'exporter en une étape :

KEY=$(pc api-key create --name agent-sdk-key --json | jq -r '.value')
export PINECONE_API_KEY="$KEY"

Sans jq : exécutez pc api-key create --name agent-sdk-key --json et copiez manuellement le champ "value".


Commandes courantes

Tâche Commande
Lister les index pc index list
Créer un index serverless pc index create -n my-index -d 1536 -m cosine -c aws -r us-east-1
Statistiques d'index pc index stats -n my-index
Charger des vecteurs à partir d'un fichier pc index vector upsert -n my-index --file ./vectors.json
Interroger par vecteur pc index vector query -n my-index --vector '[0.1, ...]' -k 10 --include-metadata
Interroger par ID de vecteur pc index vector query -n my-index --id "doc-123" -k 10
Récupérer les vecteurs par ID pc index vector fetch -n my-index --ids '["vec1","vec2"]'
Lister les ID de vecteurs pc index vector list -n my-index
Supprimer les vecteurs par filtre pc index vector delete -n my-index --filter '{"genre":"classical"}'
Lister les espaces de noms pc index namespace list -n my-index
Créer une sauvegarde pc backup create -i my-index -n "my-backup"
Sortie JSON (pour scripting) Ajoutez -j à n'importe quelle commande

Choses intéressantes que vous pouvez faire

Interroger avec des vecteurs personnalisés (pas seulement du texte)

Contrairement au MCP, l'interface de ligne de commande vous permet d'interroger n'importe quel index avec des valeurs de vecteur brutes — utile quand vous générez des embeddings en externe (OpenAI, HuggingFace, etc.) :

pc index vector query -n my-index \
  --vector '[0.1, 0.2, ..., 0.9]' \
  --filter '{"source":{"$eq":"docs"}}' \
  -k 20 --include-metadata

Canaliser les embeddings directement dans les requêtes

jq -c '.embedding' doc.json | pc index vector query -n my-index --vector - -k 10

Mise à jour des métadonnées en masse avec aperçu

# Aperçu d'abord
pc index vector update -n my-index \
  --filter '{"env":{"$eq":"staging"}}' \
  --metadata '{"env":"production"}' \
  --dry-run

# Appliquer
pc index vector update -n my-index \
  --filter '{"env":{"$eq":"staging"}}' \
  --metadata '{"env":"production"}'

Sauvegarde et restauration

# Snapshot avant une migration
pc backup create -i my-index -n "pre-migration"

# Restaurer vers un nouvel index en cas de problème
pc backup restore -i <backup-uuid> -n my-index-restored

Automatiser en CI/CD

export PINECONE_CLIENT_ID="..."
export PINECONE_CLIENT_SECRET="..."
pc auth configure --client-id "$PINECONE_CLIENT_ID" --client-secret "$PINECONE_CLIENT_SECRET"
pc index vector upsert -n my-index --file ./vectors.jsonl --batch-size 1000

Scripter contre la sortie JSON

# Obtenir tous les noms d'index sous forme de liste
pc index list -j | jq -r '.[] | .name'

# Vérifier si un index existe avant de le créer
if ! pc index describe -n my-index -j 2>/dev/null | jq -e '.name' > /dev/null; then
  pc index create -n my-index -d 1536 -m cosine -c aws -r us-east-1
fi

Fichiers de référence

Documentation