pinecone-cli

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

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

Pinecone CLI (pc)

Gérez Pinecone depuis le terminal. La CLI 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.

CLI vs MCP

CLI MCP
Types d'index Tous (standard, integrated, sparse) Integrated uniquement
Opérations vectorielles (upsert, query, fetch, update, delete)
Recherche textuelle sur les index integrated
Sauvegardes, namespaces, gestion org/projet
CI/CD / scripting

Installation

Installer (macOS)

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

Autres plateformes (Linux, Windows) — téléchargez depuis GitHub Releases.

S'authentifier

# 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 (tests rapides)
pc config set-api-key $PINECONE_API_KEY

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

Note pour les sessions d'agent : Si vous devez exécuter pc login à l'intérieur d'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 authentifié.

L'authentification de la CLI 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 les autres outils qui utilisent le SDK Pinecone ont besoin que PINECONE_API_KEY soit défini séparément.

Utilisez la CLI pour créer une clé et l'exporter en une seule é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
Uploader des vecteurs depuis un fichier pc index vector upsert -n my-index --file ./vectors.json
Requête par vecteur pc index vector query -n my-index --vector '[0.1, ...]' -k 10 --include-metadata
Requête par ID de vecteur pc index vector query -n my-index --id "doc-123" -k 10
Récupérer des vecteurs par ID pc index vector fetch -n my-index --ids '["vec1","vec2"]'
Lister les IDs 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 namespaces pc index namespace list -n my-index
Créer une sauvegarde pc backup create -i my-index -n "my-backup"
Sortie JSON (pour les scripts) Ajoutez -j à n'importe quelle commande

Des choses intéressantes que vous pouvez faire

Requête avec des vecteurs personnalisés (pas seulement du texte)

Contrairement au MCP, la CLI vous permet d'interroger n'importe quel index avec des valeurs de vecteurs 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

Piper les embeddings directement dans les requêtes

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

Mise à jour en masse des métadonnées 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 dans 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

Script 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

Skills similaires