Przejdź do treści
Biblioteka skilli
Dane i analityka · Integracja z narzędziem

vector-databases

/vector-databases

Integruje bazy wektorowe Pinecone, Weaviate, Qdrant, ChromaDB i pgvector do embeddingów i wyszukiwania podobieństwa: indeksy, filtrowanie metadanych, wyszukiwanie hybrydowe i optymalizacja produkcyjna.

Licencja
MIT
Ostatnia zmiana repozytorium
21.10.2026

Ocena i bezpieczeństwo

100/ 100Klasa: dobry
Format25 / 25
Frontmatter z nazwą i opisem, poprawna nazwa, opis do 1024 znaków, nazwa zgodna z folderem.
Odkrywalność25 / 25
Opis mówi, kiedy użyć skilla, ma sensowną długość i jest w 3. osobie.
Treść35 / 35
Co najmniej 150 słów i do 500 linii, nagłówki, listy kroków, przykłady albo kod.
Higiena15 / 15
Bez zaślepek typu TODO, bez ścieżek Windows, z licencją.
Ryzykobrak sygnałów w skanie
Pliki w paczce
1
Skrypty
0
Komentarze HTML
0
Adresy URL w SKILL.md
1
Przestarzałość

Brak sygnałów. Repozytorium zmienione 21.10.2026, bez odwołań do wycofanych modeli i API.

Licencja

MIT, otwarta: można używać i zmieniać, z zachowaniem informacji o autorze.

Co robi i kiedy

Integruje bazy wektorowe Pinecone, Weaviate, Qdrant, ChromaDB i pgvector do embeddingów i wyszukiwania podobieństwa: indeksy, filtrowanie metadanych, wyszukiwanie hybrydowe i optymalizacja produkcyjna.

Wyzwalacze z opisu

vector databaseembeddingssimilarity searchPineconeWeaviateQdrantChromaDBpgvector
Oryginalny opis (EN)

Vector database integration for embeddings and similarity search. Pinecone, Weaviate, Qdrant, ChromaDB, pgvector. Index management, metadata filtering, hybrid search, and production optimization. USE WHEN: user mentions "vector database", "embeddings", "similarity search", "Pinecone", "Weaviate", "Qdrant", "ChromaDB", "pgvector", "HNSW", "ANN" DO NOT USE FOR: LangChain integration - use `langchain`; RAG architecture - use `rag-patterns`; traditional databases - use database skills

Jak działa

  1. Pinecone
  2. ChromaDB (local/self-hosted)
  3. pgvector (PostgreSQL extension)
  4. Qdrant
  5. Embedding Generation
  6. Anti-Patterns
  7. Production Checklist
Sekcje z nagłówków SKILL.md, w oryginale · 146 linii, 485 słów
Podgląd SKILL.md
---
name: vector-databases
description: |
  Vector database integration for embeddings and similarity search. Pinecone,
  Weaviate, Qdrant, ChromaDB, pgvector. Index management, metadata filtering,
  hybrid search, and production optimization.

  USE WHEN: user mentions "vector database", "embeddings", "similarity search",
  "Pinecone", "Weaviate", "Qdrant", "ChromaDB", "pgvector", "HNSW", "ANN"

  DO NOT USE FOR: LangChain integration - use `langchain`;
  RAG architecture - use `rag-patterns`; traditional databases - use database skills
allowed-tools: Read, Grep, Glob, Write, Edit
---
# Vector Databases

## Pinecone

```typescript
import { Pinecone } from '@pinecone-database/pinecone';

const pc = new Pinecone({ apiKey: process.env.PINECONE_API_KEY! });
const index = pc.index('my-index');

// Upsert
await index.namespace('docs').upsert([
  { id: 'doc-1', values: embedding, metadata: { source: 'manual', topic: 'auth' } },
]);

// Query with metadata filter
const results = await index.namespace('docs').query({
  vector: queryEmbedding,
  topK: 5,
  filter: { topic: { $eq: 'auth' } },
  includeMetadata: true,
});
```

## ChromaDB (local/self-hosted)

```python
import chromadb

client = chromadb.PersistentClient(path="./chroma_db")
collection = client.get_or_create_collection(
    name="documents",
    metadata={"hnsw:space": "cosine"},
)

# Add documents (auto-embeds with default model)
collection.add(
    ids=["doc1", "doc2"],
    documents=["Auth guide content", "API reference content"],
    metadatas=[{"source": "manual"}, {"source": "api"}],
)

# Query
results = collection.query(query_texts=["how does login work?"], n_results=5)
```

## pgvector (PostgreSQL extension)

```sql
CREATE EXTENSION IF NOT EXISTS vector;

CREATE TABLE documents (
  id SERIAL PRIMARY KEY,
  content TEXT NOT NULL,
  embedding vector(1536),
  metadata JSONB DEFAULT '{}'
);

CREATE INDEX ON documents USING hnsw (embedding vector_cosine_ops);

-- Similarity search
SELECT id, content, 1 - (embedding <=> $1::vector) AS similarity
FROM documents
WHERE metadata->>'source' = 'manual'
ORDER BY embedding <=> $1::vector
LIMIT 5;
```

### Node.js with pgvector

```typescript
import pgvector from 'pgvector';

await pgvector.registerTypes(pool);

await pool.query(
  'INSERT INTO documents (content, embedding) VALUES ($1, $2)',
  [text, pgvector.toSql(embedding)]
);

const { rows } = await pool.query(
  'SELECT *, 1 - (embedding <=> $1) AS similarity FROM documents ORDER BY embedding <=> $1 LIMIT $2',
  [pgvector.toSql(queryEmbedding), 5]
);
```

## Qdrant

```typescript
import { QdrantClient } from '@qdrant/js-client-rest';

const client = new QdrantClient({ url: 'http://localhost:6333' });

// Create collection
await client.createCollection('documents', {
  vectors: { size: 1536, distance: 'Cosine' },
});

// Upsert
await client.upsert('documents', {
  points: [{ id: 1, vector: embedding, payload: { source: 'manual' } }],
});

// Search with filter
const results = await client.search('documents', {
  vector: queryEmbedding,
  limit: 5,
  filter: { must: [{ key: 'source', match: { value: 'manual' } }] },
});
```

## Embedding Generation

```typescript
import OpenAI from 'openai';

const openai = new OpenAI();

async function embed(texts: string[]): Promise<number[][]> {
  const response = await openai.embeddings.create({
    model: 'text-embedding-3-small', // 1536 dims, cheapest
    input: texts,
  });
  return response.data.map((d) => d.embedding);
}
```

## Anti-Patterns

| Anti-Pattern | Fix |
|--------------|-----|
| No metadata filtering | Always store filterable metadata with vectors |
| Wrong distance metric | Match metric to embedding model (cosine for OpenAI) |
| Embedding model mismatch | Same model for indexing and querying |
| No batching on upsert | Batch upserts (100-1000 vectors per call) |
| Storing raw text in vector DB | Store text in primary DB, only IDs + vectors in vector DB |

## Production Checklist

- [ ] Embedding model locked (changing requires full re-index)
- [ ] Batch upserts with error handling
- [ ] Metadata schema documented
- [ ] Index type configured (HNSW for most cases)
- [ ] Backup strategy for vector data
- [ ] Monitoring: query latency, index size, recall metrics

Wersje

W bazie nie ma innych skilli o nazwie vector-databases.

Migawka bazy z 28.10.2026 · wersja paczki 2cce83fa48cb (skrót SHA-256 całej paczki)

Pobrania w ostatnich 30 dniach: 0 · ranking

Zgłoś problem z tym skillem: szkodliwa treść, błędny opis albo prośba autora o usunięcie.

Podobne skille

  • 80role-database:vector-databases
    Pomaga wybrać i wdrożyć bazy wektorowe, np. pgvector, Qdrant, Pinecone czy Weaviate, do wyszukiwania semantycznego i RAG.
  • 90vector-database-engineer
    Dostarcza wzorce baz wektorowych i wyszukiwania semantycznego dla Pinecone, Weaviate, Qdrant, Milvus i pgvector w systemach RAG i rekomendacji.
  • 90vector-database-engineer
    Projektuje przechowywanie wektorów, indeksowanie i semantyczne wyszukiwanie w Pinecone, Weaviate, Qdrant, Milvus lub pgvector dla RAG, wyszukiwania podobieństwa i rekomendacji.
  • 100vector-db
    Pomaga prowadzić bazę wektorową jako warstwę danych: wybór lub migracja między Pinecone, Qdrant, Weaviate i pgvector, projekt indeksu, filtrowanie metadanych, wyszukiwanie hybrydowe i kwantyzacja.
  • 98vector-search-patterns
    Wdraża wyszukiwanie wektorowe: generowanie embeddingów, dobór indeksu i wyszukiwanie hybrydowe w ChromaDB, pgvector i FAISS oraz projekt potoku RAG.
  • 100vector-database
    Projektuje i strojenie baz wektorowych: schematy pgvector, kolekcje Weaviate, indeksy HNSW, modele embeddingów i RAG.

Uwagi i zgłoszenia

Wiadomość trafi do Bartosza Sokolińskiego. Adres e-mail jest potrzebny tylko do odpowiedzi. Szczegóły w polityce prywatności.