DocumentationNeuronDB Documentation
SQL API Reference
Vector Types
vector(n)
A fixed-dimension vector of floating-point numbers.
Vector type examples
-- Create table with vector column
CREATE TABLE embeddings (
id SERIAL PRIMARY KEY,
embedding vector(1536) -- 1536-dimensional vector
);
-- Insert vectors
INSERT INTO embeddings (embedding) VALUES ('[1, 2, 3]');
INSERT INTO embeddings (embedding) VALUES (ARRAY[1.0, 2.0, 3.0]::vector);
-- Cast from array
SELECT ARRAY[1.0, 2.0, 3.0]::vector(3);Distance Operators
| Operator | Description | Return Type | Example |
|---|---|---|---|
<-> | L2 (Euclidean) distance | float | embedding <-> '[1,2,3]' |
<=> | Cosine distance | float | embedding <=> '[1,2,3]' |
<#> | Inner product (negative dot product) | float | embedding <#> '[1,2,3]' |
Embedding Functions
neurondb_embed(text, model)
Generate embeddings using configured LLM providers.
Parameters: text (TEXT), model (TEXT)
Returns: vector
Embedding generation
-- Configure OpenAI provider
SET neurondb.llm_provider = 'openai';
SET neurondb.llm_api_key = 'sk-...';
-- Generate embedding
SELECT neurondb_embed('Hello world', 'text-embedding-ada-002');
-- Batch embeddings
INSERT INTO documents (content, embedding)
SELECT content, neurondb_embed(content, 'text-embedding-ada-002')
FROM documents WHERE embedding IS NULL;Index Functions
Creating Indexes
Index creation
-- HNSW index
CREATE INDEX ON documents USING hnsw (embedding vector_l2_ops)
WITH (m = 16, ef_construction = 64);
-- IVF index
CREATE INDEX ON documents USING ivfflat (embedding vector_cosine_ops)
WITH (lists = 100);ML Functions
cluster_kmeans
K-Means clustering algorithm.
K-Means clustering
SELECT *
FROM cluster_kmeans(
(SELECT embedding FROM documents),
5, -- k
500, -- max_iter
0.001 -- tol
);Next Steps
- Indexing Guide - Learn about vector indexes
- ML Functions - Complete ML API reference
- Configuration - All GUC parameters