Vector Databases (Pinecone, pgvector) — AI Web

Vector Databases Vector database dirancang untuk menyimpan dan mencari embedding dengan cepat. Database biasa tidak bisa melakukan nearest-neighbor search…

Vector Databases

Vector database dirancang untuk menyimpan dan mencari embedding dengan cepat. Database biasa tidak bisa melakukan nearest-neighbor search secara efisien di jutaan vektor.

Options

pgvector (PostgreSQL)

-- Enable extension
CREATE EXTENSION vector;

-- Create table with vector column
CREATE TABLE documents (
  id SERIAL PRIMARY KEY,
  content TEXT,
  embedding vector(1536) -- 1536 dimensions for text-embedding-3-small
);

-- Insert
INSERT INTO documents (content, embedding)
VALUES ('Cara membuat REST API', '[0.023, -0.041, ...]');

-- Search (cosine similarity)
SELECT content, 1 - (embedding <=> $1) AS similarity
FROM documents
ORDER BY embedding <=> $1
LIMIT 5;

Pinecone

import { Pinecone } from "@pinecone-database/pinecone";

const pc = new Pinecone();
const index = pc.index("my-app");

// Upsert vectors
await index.upsert([{
  id: "doc-1",
  values: embedding,
  metadata: { text: "Cara membuat REST API", category: "backend" },
}]);

// Query
const results = await index.query({
  vector: queryEmbedding,
  topK: 5,
  includeMetadata: true,
  filter: { category: { $eq: "backend" } }, // metadata filtering
});

Kapan Pakai Apa?

Yang akan kamu pelajari