Pular para o conteúdo
Skillpedia
Machine learning48 mil · #4482

vector-database-ops

Faz seu agente instalar e gerenciar bancos de dados vetoriais. Ele garante que eles funcionem bem para aplicações de IA.

O que ela faz

Esta ferramenta ajuda você a configurar e gerenciar bancos de dados especiais chamados 'vector databases'. Eles são usados para organizar informações de forma que a inteligência artificial possa encontrar rapidamente coisas parecidas, como em buscas semânticas ou sistemas de recomendação.

Quando usar

  • ✓Ao criar um sistema de busca inteligente para seus documentos.
  • ✓Ao escolher qual banco de dados de vetores usar (Qdrant, Weaviate, pgvector, Pinecone).
  • ✓Ao otimizar a velocidade de busca e organização dos dados para produção.

Exemplo do que pedir para a IA

“Como configuro o Qdrant para buscar documentos similares?”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/vector-database-ops/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/vector-database-ops/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você pode usar esta ferramenta para instalar e configurar diferentes tipos de bancos de dados de vetores. Ela fornece exemplos de código para criar coleções de dados, índices e otimizar as buscas para que a IA funcione melhor.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill vector-database-ops

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/vector-database-ops/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Operações de Banco de Dados Vetorial

Execute bancos de dados vetoriais em produção para busca com IA, RAG e sistemas de recomendação.

Quando Usar Esta Habilidade

Use esta habilidade quando:

  • Configurar um banco de dados vetorial para uma aplicação de RAG ou busca semântica
  • Escolher entre Qdrant, Weaviate, pgvector ou Pinecone
  • Gerenciar coleções, índices e migrações de dados
  • Otimizar o desempenho de consultas e indexação para cargas de produção
  • Implementar busca vetorial multi-tenant com isolamento de namespace

Comparação de Bancos de Dados Vetoriais

Banco de Dados Melhor Para Hospedagem Filtragem Escalabilidade
Qdrant Alto desempenho, filtragem rica, auto-hospedado Auto / Nuvem Excelente Muito Alta
Weaviate Schema-first, busca híbrida, multimodal Auto / Nuvem Bom Alta
pgvector Já no Postgres, casos de uso simples Auto Bom Média
Pinecone Gerenciado zero-ops, serverless Apenas Gerenciado Bom Muito Alta
Chroma Desenvolvimento local, prototipagem Apenas Auto Básico Baixa-Média

Qdrant — Implantação em Produção

# Docker (single node)
docker run -d \
  --name qdrant \
  -p 6333:6333 \
  -p 6334:6334 \
  -v $(pwd)/qdrant-data:/qdrant/storage \
  qdrant/qdrant:latest

# With custom config
docker run -d \
  --name qdrant \
  -p 6333:6333 \
  -v $(pwd)/qdrant-data:/qdrant/storage \
  -v $(pwd)/qdrant-config.yaml:/qdrant/config/production.yaml \
  qdrant/qdrant:latest
# qdrant-config.yaml
storage:
  storage_path: /qdrant/storage
  on_disk_payload: true          # store payload on disk (saves RAM)

service:
  max_request_size_mb: 32

hnsw_index:
  m: 16                          # graph connections per node
  ef_construct: 100              # accuracy vs build time trade-off
  full_scan_threshold: 10000     # switch to brute force below this

quantization:
  scalar:
    type: int8
    quantile: 0.99
    always_ram: true             # keep quantized index in RAM

telemetry_disabled: true

Gerenciamento de Coleções Qdrant

from qdrant_client import QdrantClient
from qdrant_client.models import (
    Distance, VectorParams, HnswConfigDiff,
    ScalarQuantizationConfig, ScalarType, QuantizationConfig
)

client = QdrantClient("http://localhost:6333")

# Create optimized collection
client.create_collection(
    collection_name="documents",
    vectors_config=VectorParams(
        size=1536,                         # OpenAI ada-002 / text-embedding-3-small
        distance=Distance.COSINE,
        on_disk=True,                      # save RAM — vectors stored on disk
    ),
    hnsw_config=HnswConfigDiff(
        m=32,                              # higher = better recall, more RAM
        ef_construct=200,
        on_disk=False,                     # keep HNSW graph in RAM for speed
    ),
    quantization_config=QuantizationConfig(
        scalar=ScalarQuantizationConfig(
            type=ScalarType.INT8,
            quantile=0.99,
            always_ram=True,
        )
    ),
)

# Create payload index for fast filtering
client.create_payload_index(
    collection_name="documents",
    field_name="tenant_id",
    field_schema="keyword",
)
client.create_payload_index(
    collection_name="documents",
    field_name="created_at",
    field_schema="datetime",
)

# Collection info
info = client.get_collection("documents")
print(f"Vectors: {info.vectors_count}, Status: {info.status}")

Busca Filtrada Qdrant

from qdrant_client.models import Filter, FieldCondition, MatchValue, Range

# Tenant-isolated search (multi-tenant RAG)
results = client.query_points(
    collection_name="documents",
    query=query_embedding,
    query_filter=Filter(
        must=[
            FieldCondition(key="tenant_id", match=MatchValue(value="acme-corp")),
            FieldCondition(key="doc_type", match=MatchValue(value="contract")),
        ],
        should=[
            FieldCondition(key="created_at", range=Range(gte="2024-01-01")),
        ],
    ),
    limit=10,
    with_payload=True,
)

pgvector — Extensão PostgreSQL

-- Habilitar extensão
CREATE EXTENSION IF NOT EXISTS vector;

-- Criar tabela com coluna vetorial
CREATE TABLE documents (
    id          UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    content     TEXT NOT NULL,
    embedding   VECTOR(1536),
    metadata    JSONB DEFAULT '{}',
    tenant_id   TEXT NOT NULL,
    created_at  TIMESTAMPTZ DEFAULT NOW()
);

-- Criar índice HNSW (consultas mais rápidas, mais memória)

…
Perguntas frequentes

O que é um banco de dados de vetores?

É um tipo de banco de dados otimizado para armazenar e consultar dados representados como vetores numéricos, que são usados por modelos de IA para entender o significado e a similaridade entre informações.

O que é RAG?

RAG significa Retrieval-Augmented Generation. É uma técnica que usa um banco de dados de vetores para encontrar informações relevantes antes de gerar uma resposta com IA, tornando a resposta mais precisa e baseada em fatos.

Qual banco de dados de vetores é o melhor?

Depende do seu caso de uso. Qdrant e Weaviate são bons para alta performance e flexibilidade. pgvector é bom se você já usa PostgreSQL. Pinecone é uma opção gerenciada e sem complicações.

Detalhes

Descrição original do autor

Deploy, manage, and optimize vector databases for AI applications.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#4482
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas