option

Base de données vectorielle gérée pour les applications d'IA en production. Entièrement gérée, à mise à l'échelle automatique, avec recherche hybride (dense + clairsemée), filtrage par métadonnées et espaces de noms. Faible latence (< 100 ms p95). À utiliser pour le RAG en production, les systèmes de recommandation ou la recherche sémantique à grande échelle. Idéale pour les infrastructures sans serveur et gérées.

...Développer tout
53
Heure mise à jour 29 juin 2026

À propos d'pinecone

Pinecone est une base de données vectorielle entièrement gérée et sans serveur, conçue pour les applications d’IA en production. Elle résout le problème de la mise à l’échelle des bases de données vectorielles tout en gérant les complexités liées à la gestion de l’infrastructure. Pinecone offre une plateforme sur laquelle les développeurs peuvent se concentrer sur la création d’applications d’IA sans se soucier de l’architecture sous-jacente de la base de données, notamment le provisionnement, la mise à l’échelle ou la maintenance. Ses capacités à faible latence (<100 ms p95) en font la solution idéale pour une utilisation en production dans des domaines tels que les systèmes de recommandation, la recherche sémantique et les applications de génération augmentée par la recherche (RAG).

Parmi les principales fonctionnalités d’Pinecone, on trouve la recherche hybride combinant des vecteurs denses et clairsemés, le filtrage par métadonnées et la prise en charge des espaces de noms. La plateforme est conçue pour offrir une haute disponibilité et une grande fiabilité, avec un SLA garantissant une disponibilité de 99,9 %. Pinecone s’adapte automatiquement à des milliards de vecteurs sans perte de performances, ce qui la rend adaptée aux systèmes de production à grande échelle. Son intégration avec des fournisseurs de cloud tels qu’AWS, GCP et Azure offre une grande flexibilité de déploiement, et elle peut fonctionner de manière transparente dans une configuration sans serveur ou basée sur des pods afin de répondre aux besoins de performance.

Pinecone Elle s’adresse aux entreprises et aux développeurs travaillant sur des applications basées sur l’IA qui nécessitent une recherche vectorielle efficace et évolutive. Parmi les cas d’utilisation idéaux figurent les systèmes RAG, les moteurs de recommandation et la recherche sémantique à grande échelle, en particulier lorsque la latence et la gestion de l’infrastructure sont des facteurs critiques. Grâce à sa facilité d’intégration et à son modèle de service géré, Pinecone constitue un excellent choix pour les développeurs qui ont besoin d’une solution de base de données vectorielle fiable et nécessitant peu de maintenance pour leurs charges de travail d’IA.

FAQ

Comment commencer à utiliser Pinecone ?

Pour commencer à utiliser Pinecone, vous pouvez installer le package Python `pinecone -client` à l’aide de la commande `pip install pinecone -client`. Ensuite, initialisez le client Pinecone, créez un index, insérez ou mettez à jour des vecteurs, puis effectuez des requêtes. La documentation fournit des exemples de code pour chacune de ces étapes.

Quelle est la latence d’Pinecone ?

Pinecone offre une faible latence, avec une latence p95 inférieure à 100 ms, ce qui le rend adapté aux applications de production où des temps de réponse rapides sont essentiels.

Pinecone prend-il en charge la recherche hybride ?

Oui, Pinecone prend en charge la recherche hybride, ce qui permet d’utiliser à la fois des vecteurs denses et clairsemés dans les requêtes pour des capacités de recherche plus flexibles et plus efficaces.

Puis-je filtrer les résultats en fonction des métadonnées ?

Oui, Pinecone propose un filtrage par métadonnées, ce qui vous permet de filtrer les résultats de requête selon divers critères tels que les correspondances exactes, les comparaisons, les opérateurs logiques ou l’opérateur « in » pour les listes.

Pinecone est-il sans serveur ?

Oui, Pinecone est sans serveur par défaut, mais il prend également en charge le déploiement basé sur des pods pour ceux qui ont besoin de performances plus constantes dans un environnement spécifique.

Voir sur GitHub

Pinecone - Managed Vector Database

The vector database for production AI applications.

When to use Pinecone

Use when:

  • Need managed, serverless vector database
  • Production RAG applications
  • Auto-scaling required
  • Low latency critical (<100ms)
  • Don't want to manage infrastructure
  • Need hybrid search (dense + sparse vectors)

Metrics:

  • Fully managed SaaS
  • Auto-scales to billions of vectors
  • p95 latency <100ms
  • 99.9% uptime SLA

Use alternatives instead:

  • Chroma: Self-hosted, open-source
  • FAISS: Offline, pure similarity search
  • Weaviate: Self-hosted with more features

Quick start

Installation

pip install pinecone-client

Basic usage

from pinecone import Pinecone, ServerlessSpec# Initializepc = Pinecone(api_key="your-api-key")# Create indexpc.create_index(    name="my-index",    dimension=1536,  # Must match embedding dimension    metric="cosine",  # or "euclidean", "dotproduct"    spec=ServerlessSpec(cloud="aws", region="us-east-1"))# Connect to indexindex = pc.Index("my-index")# Upsert vectorsindex.upsert(vectors=[    {"id": "vec1", "values": [0.1, 0.2, ...], "metadata": {"category": "A"}},    {"id": "vec2", "values": [0.3, 0.4, ...], "metadata": {"category": "B"}}])# Queryresults = index.query(    vector=[0.1, 0.2, ...],    top_k=5,    include_metadata=True)print(results["matches"])

Core operations

Create index

# Serverless (recommended)pc.create_index(    name="my-index",    dimension=1536,    metric="cosine",    spec=ServerlessSpec(        cloud="aws",         # or "gcp", "azure"        region="us-east-1"    ))# Pod-based (for consistent performance)from pinecone import PodSpecpc.create_index(    name="my-index",    dimension=1536,    metric="cosine",    spec=PodSpec(        environment="us-east1-gcp",        pod_type="p1.x1"    ))

Upsert vectors

# Single upsertindex.upsert(vectors=[    {        "id": "doc1",        "values": [0.1, 0.2, ...],  # 1536 dimensions        "metadata": {            "text": "Document content",            "category": "tutorial",            "timestamp": "2025-01-01"        }    }])# Batch upsert (recommended)vectors = [    {"id": f"vec{i}", "values": embedding, "metadata": metadata}    for i, (embedding, metadata) in enumerate(zip(embeddings, metadatas))]index.upsert(vectors=vectors, batch_size=100)

Query vectors

# Basic queryresults = index.query(    vector=[0.1, 0.2, ...],    top_k=10,    include_metadata=True,    include_values=False)# With metadata filteringresults = index.query(    vector=[0.1, 0.2, ...],    top_k=5,    filter={"category": {"$eq": "tutorial"}})# Namespace queryresults = index.query(    vector=[0.1, 0.2, ...],    top_k=5,    namespace="production")# Access resultsfor match in results["matches"]:    print(f"ID: {match['id']}")    print(f"Score: {match['score']}")    print(f"Metadata: {match['metadata']}")

Metadata filtering

# Exact matchfilter = {"category": "tutorial"}# Comparisonfilter = {"price": {"$gte": 100}}  # $gt, $gte, $lt, $lte, $ne# Logical operatorsfilter = {    "$and": [        {"category": "tutorial"},        {"difficulty": {"$lte": 3}}    ]}  # Also: $or# In operatorfilter = {"tags": {"$in": ["python", "ml"]}}

Namespaces

# Partition data by namespaceindex.upsert(    vectors=[{"id": "vec1", "values": [...]}],    namespace="user-123")# Query specific namespaceresults = index.query(    vector=[...],    namespace="user-123",    top_k=5)# List namespacesstats = index.describe_index_stats()print(stats['namespaces'])

Hybrid search (dense + sparse)

# Upsert with sparse vectorsindex.upsert(vectors=[    {        "id": "doc1",        "values": [0.1, 0.2, ...],  # Dense vector        "sparse_values": {            "indices": [10, 45, 123],  # Token IDs            "values": [0.5, 0.3, 0.8]   # TF-IDF scores        },        "metadata": {"text": "..."}    }])# Hybrid queryresults = index.query(    vector=[0.1, 0.2, ...],    sparse_vector={        "indices": [10, 45],        "values": [0.5, 0.3]    },    top_k=5,    alpha=0.5  # 0=sparse, 1=dense, 0.5=hybrid)

LangChain integration

from langchain_pinecone import PineconeVectorStorefrom langchain_openai import OpenAIEmbeddings# Create vector storevectorstore = PineconeVectorStore.from_documents(    documents=docs,    embedding=OpenAIEmbeddings(),    index_name="my-index")# Queryresults = vectorstore.similarity_search("query", k=5)# With metadata filterresults = vectorstore.similarity_search(    "query",    k=5,    filter={"category": "tutorial"})# As retrieverretriever = vectorstore.as_retriever(search_kwargs={"k": 10})

LlamaIndex integration

from llama_index.vector_stores.pinecone import PineconeVectorStore# Connect to Pineconepc = Pinecone(api_key="your-key")pinecone_index = pc.Index("my-index")# Create vector storevector_store = PineconeVectorStore(pinecone_index=pinecone_index)# Use in LlamaIndexfrom llama_index.core import StorageContext, VectorStoreIndexstorage_context = StorageContext.from_defaults(vector_store=vector_store)index = VectorStoreIndex.from_documents(documents, storage_context=storage_context)

Index management

# List indicesindexes = pc.list_indexes()# Describe indexindex_info = pc.describe_index("my-index")print(index_info)# Get index statsstats = index.describe_index_stats()print(f"Total vectors: {stats['total_vector_count']}")print(f"Namespaces: {stats['namespaces']}")# Delete indexpc.delete_index("my-index")

Delete vectors

# Delete by IDindex.delete(ids=["vec1", "vec2"])# Delete by filterindex.delete(filter={"category": "old"})# Delete all in namespaceindex.delete(delete_all=True, namespace="test")# Delete entire indexindex.delete(delete_all=True)

Best practices

  1. Use serverless - Auto-scaling, cost-effective
  2. Batch upserts - More efficient (100-200 per batch)
  3. Add metadata - Enable filtering
  4. Use namespaces - Isolate data by user/tenant
  5. Monitor usage - Check Pinecone dashboard
  6. Optimize filters - Index frequently filtered fields
  7. Test with free tier - 1 index, 100K vectors free
  8. Use hybrid search - Better quality
  9. Set appropriate dimensions - Match embedding model
  10. Regular backups - Export important data

Performance

OperationLatencyNotes
Upsert~50-100msPer batch
Query (p50)~50msDepends on index size
Query (p95)~100msSLA target
Metadata filter~+10-20msAdditional overhead

Pricing (as of 2025)

Serverless:

  • $0.096 per million read units
  • $0.06 per million write units
  • $0.06 per GB storage/month

Free tier:

  • 1 serverless index
  • 100K vectors (1536 dimensions)
  • Great for prototyping

Resources

  • Website: https://www.pinecone.io
  • Docs: https://docs.pinecone.io
  • Console: https://app.pinecone.io
  • Pricing: https://www.pinecone.io/pricing

Tous les fichiers

1 fichiers
SKILL.md 7.6k
Voir

Installer pinecone

Téléchargez et décompressez les fichiers de compétences dans votre répertoire .claude/skills/.

Télécharger le ZIP

Clonez le dépôt et copiez les fichiers de compétence dans votre projet.

git clone https://github.com/Orchestra-Research/AI-Research-SKILLs/blob/main/15-rag/pinecone/SKILL.md # Copy SKILL.md to your .claude/skills/ directory

Copier Copier
Configuration rapide: Copiez le dossier de la compétence dans .claude/skills/ ; Claude la détectera automatiquement et l'utilisera.

Compétences similaires

Cloudflare Manager
Heure mise à jour 29 juin 2026
sentry-architecture-variants
Heure mise à jour 29 juin 2026
azure-setup-guide
Heure mise à jour 29 juin 2026
gcp-examples-expert
Heure mise à jour 29 juin 2026
OR