Vector Databases: Pinecone, Weaviate & pgvector · Aula

Busca híbrida com vetores esparsos e densos

Aprenda como o Pinecone combina vetores semânticos densos com vetores esparsos de palavras-chave para oferecer uma busca híbrida que capture tanto o significado quanto os termos exatos.

Aula 4 de 413 etapas

Busca híbrida com vetores esparsos e densos é uma aula grátis de Vector Databases: Pinecone, Weaviate & pgvector no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Vector Databases: Pinecone, Weaviate & pgvector, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Vector Databases: Pinecone, Weaviate & pgvector inclui 4 aulas no total.

Partes desta aula ainda não foram traduzidas e aparecem em inglês.

The Limits of Dense-Only Search

Dense vectors capture meaning but can miss exact terms like product codes, names, or rare keywords. A user searching 'error E4012' may get semantically related but wrong results.

Hybrid search fixes this by adding keyword matching.

Dense vs Sparse Vectors

Two vector kinds:

  • Dense — a few hundred floats encoding semantic meaning
  • Sparse — mostly zeros, with weights only for present terms (like keyword scores)

Sparse vectors behave like classic keyword search.

What Sparse Vectors Look Like

A sparse vector is stored as indices and values for the non-zero terms.

sparse = {'indices': [10, 42, 77], 'values': [0.8, 0.5, 0.3]}
print('non-zero terms:', len(sparse['indices']))

Why Hybrid Wins

Hybrid search combines the strengths:

  • Dense handles synonyms and intent
  • Sparse guarantees exact-term matches
  • Together they boost recall and precision

Pinecone Hybrid Indexes

To use hybrid search in Pinecone, create a dotproduct index and upsert each record with both a dense values array and a sparse_values field. Queries supply both representations of the query.

Upserting a Hybrid Record

A record carries dense and sparse parts together.

record = {
  'id': 'doc1',
  'values': [0.1, 0.2, 0.3],
  'sparse_values': {'indices': [5, 9], 'values': [0.7, 0.4]},
  'metadata': {'title': 'Setup guide'}
}
print(record['id'], 'has', len(record['values']), 'dense dims')

The Alpha Weighting

Hybrid queries use an alpha parameter to weight dense vs sparse. alpha=1 is pure dense, alpha=0 is pure sparse. Tune it for your data.

def weight(dense_vec, sparse_vals, alpha):
    d = [v*alpha for v in dense_vec]
    s = [v*(1-alpha) for v in sparse_vals]
    return d, s

print(weight([1.0], [1.0], 0.7))

Generating Sparse Vectors

Sparse vectors come from keyword models like BM25 or learned sparse encoders (e.g. SPLADE). They map terms to weighted indices that Pinecone can match against stored records.

Tuning Alpha

The right alpha depends on your queries:

  • Keyword-heavy domains (codes, IDs) -> lower alpha
  • Natural-language questions -> higher alpha

Test on real queries and measure both recall and precision.

When to Use Hybrid

Reach for hybrid when exact terms matter: legal, medical, technical docs, or catalogs with SKUs. For purely conversational content, dense alone may be enough and simpler.

Bringing It Together

Hybrid search in Pinecone = a dotproduct index, records with dense and sparse values, queries supplying both, and a tuned alpha. It captures meaning and exact terms in one ranked result set.

Quick Check

Test your understanding of hybrid search.

Recap

You learned that hybrid search combines dense semantic vectors with sparse keyword vectors so Pinecone captures both meaning and exact terms. Use a dotproduct index, upsert both representations, and tune the alpha weighting to your query mix.

Grátis para começar

Aprenda Vector Databases: Pinecone, Weaviate & pgvector com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
12
Aulas
48

Perguntas Frequentes

A aula “Busca híbrida com vetores esparsos e densos” é grátis?

Sim — o texto completo de “Busca híbrida com vetores esparsos e densos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Vector Databases: Pinecone, Weaviate & pgvector, atualize para CoddyKit PRO. O curso de Vector Databases: Pinecone, Weaviate & pgvector inclui 4 aulas no total.

O que vou aprender em “Busca híbrida com vetores esparsos e densos”?

Aprenda como o Pinecone combina vetores semânticos densos com vetores esparsos de palavras-chave para oferecer uma busca híbrida que capture tanto o significado quanto os termos exatos. Você pratica Vector Databases: Pinecone, Weaviate & pgvector com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Vector Databases: Pinecone, Weaviate & pgvector?

Nenhuma experiência prévia é necessária. Vector Databases: Pinecone, Weaviate & pgvector no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.

Quanto tempo leva a aula “Busca híbrida com vetores esparsos e densos”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Vector Databases: Pinecone, Weaviate & pgvector?

Sim. Cada aula de Vector Databases: Pinecone, Weaviate & pgvector inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Filtragem com Metadados
  2. Gerenciando Namespaces
  3. Atualizações e Exclusões em Tempo Real
  4. Busca híbrida com vetores esparsos e densos
← Voltar para Vector Databases: Pinecone, Weaviate & pgvector