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 logindans 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 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
- Référence des commandes complètes — toutes les commandes avec les drapeaux et les exemples
- Dépannage et bonnes pratiques