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écutezpc logindirectement 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
- Référence complète des commandes — toutes les commandes avec les flags et les exemples
- Dépannage et meilleures pratiques