On-disk support for HNSW indexes with pg_embedding
Neon's pg_embedding
extension, which enables graph-based vector similarity search in Postgres using the Hierarchical Navigable Small World (HNSW) algorithm (HNSW), now persists HNSW indexes to disk. In the previous pg_embedding
version (0.1.0 and earlier), indexes resided in memory.
Additionally, pg_embedding
now supports cosine and Manhattan distance metrics.
-
Cosine distance
CREATE INDEX ON documents USING hnsw(embedding ann_cos_ops) WITH (dims=3, m=3, efconstruction=5, efsearch=5); SELECT id FROM documents ORDER BY embedding <=> array[3,3,3] LIMIT 1;
-
Manhattan distance
CREATE INDEX ON documents USING hnsw(embedding ann_manhattan_ops) WITH (dims=3, m=3, efconstruction=5, efsearch=5); SELECT id FROM documents ORDER BY embedding <~> array[3,3,3] LIMIT 1;
Also, be sure to check out the new Neon AI page on our website, and our docs, which include links to new AI example applications built with Neon Serverless Postgres.