Model dan platform AI

Pinecone Merilis Pg_pinecone, Ekstensi Pencarian Postgres Sumber Terbuka

mm
Tambahkan Unite.AI ke sumber pilihan Anda di Google

Pinecone merilis pg_pinecone pada 27 Oktober 2026, sebuah ekstensi Postgres sumber terbuka berlisensi Apache 2.0 yang menghadirkan mesin pencari vektor yang menurut perusahaan tersebut dijalankannya dalam skala besar ke kolom pgvector yang sudah digunakan aplikasi. Dalam tolok ukur yang dilaporkan perusahaan, indeks native ekstensi ini untuk 1 juta vektor berdimensi 768 berukuran 136 MB, dibandingkan dengan 2.0 GB untuk HNSW pada halfvec dan 4.1 GB untuk vektor berukuran penuh.

Rilis ini diperkenalkan melalui unggahan pengumuman yang ditulis oleh Harshita Daddala dan Anthony Mahanna. Menurut unggahan tersebut, cara umum untuk menjalankan pencarian vektor di Postgres adalah menggunakan indeks graf seperti HNSW, yang membutuhkan semakin banyak memori untuk mempertahankan kinerja, memerlukan waktu lama untuk dibangun, dan menurunkan akurasi pencarian dengan filter; ketika kueri dibatasi untuk satu pengguna atau satu tenant, indeks graf dapat mengembalikan lebih sedikit baris daripada nilai LIMIT pada kueri. Sebaliknya, pg_pinecone menerapkan filter selama pencarian. Pinecone menyatakan bahwa cara ini memungkinkan pencarian dengan cakupan sempit tetap mengembalikan hasil dalam jumlah penuh, dan pada mesin default-nya, data tidak pernah keluar dari Postgres.

Tiga Mesin untuk Satu Indeks

pg_pinecone bekerja dengan kolom vektor yang sudah tersimpan di pgvector. Aplikasi terhubung ke Postgres dengan cara yang sama dan mengirim SQL yang sama, seperti ORDER BY embedding <=> $1 LIMIT 10, sementara tabel, termasuk vektor lengkapnya, tetap berada di tempat semula dan Postgres tetap menjadi sistem pencatatan utama.

Setiap tabel menggunakan salah satu dari tiga mesin. Mesin native, yang menjadi pilihan default, membangun dan mencari indeksnya sepenuhnya di dalam Postgres tanpa memerlukan akun Pinecone, kunci API, atau panggilan jaringan. Mesin pgvector mencari indeks pgvector yang sudah ada, baik HNSW maupun IVFFlat. Repositori GitHub proyek ini menyebutnya cocok untuk tabel yang sudah memiliki indeks pgvector dan tidak menggunakan filter. Mesin jarak jauh mengarahkan pencarian ke indeks tanpa server dalam layanan terkelola Pinecone, yang ditujukan untuk tabel yang sudah melampaui kapasitas satu server Postgres. Mengganti mesin untuk sebuah tabel hanya memerlukan satu pemanggilan pinecone.set_engine(); kueri tidak berubah dan setiap penggantian dapat dibatalkan.

Cara Kerja Pencarian pada Mesin Native

Seperti HNSW pada pgvector, mesin native menggunakan algoritme aproksimasi tetangga terdekat, tetapi mengganti graf dengan indeks berkas terbalik yang mengelompokkan vektor serupa ke dalam klaster. Setiap vektor disimpan sebagai kode RaBitQ terkuantisasi, dengan ukuran sekitar satu bit per dimensi ditambah beberapa nilai koreksi, menggunakan metode yang menurut unggahan tersebut dikembangkan oleh Gao dan Long, SIGMOD 2024. Kode untuk setiap klaster disatukan, sehingga pencarian hanya perlu membaca beberapa halaman yang berurutan, bukan berpindah-pindah di sepanjang graf.

Pencarian berlangsung dalam tiga langkah: mencari klaster terdekat dengan membandingkan vektor kueri dengan centroid setiap klaster, menghitung perkiraan jarak setiap baris berdasarkan kode RaBitQ-nya dan mempertahankan kandidat terbaik, lalu mengurutkan ulang kandidat tersebut menggunakan vektor lengkapnya dari tabel.

Pemfilteran dilakukan di dalam proses pencarian. Pinecone menyatakan bahwa HNSW pada pgvector menerapkan filter setelah pencarian, yakni menemukan tetangga terdekat terlebih dahulu lalu menerapkan klausa WHERE. Akibatnya, filter yang sempit menyisihkan sebagian besar kandidat, dan pemindaian berulang mengisi kembali daftar dengan mengorbankan waktu serta, jika relaxed_order digunakan, akurasi. Mesin native menyimpan nilai kolom filter di samping kode setiap baris dan menghitung jumlah baris untuk setiap nilai saat indeks dibangun. Untuk filter sempit, yang secara default mencakup 3% baris atau kurang, mesin ini menerapkan filter terlebih dahulu dengan memindai setiap baris yang cocok di semua klaster dan menghitung skornya menggunakan vektor lengkap, sehingga hasilnya akurat. Untuk filter yang lebih luas, mesin ini menggunakan pemfilteran satu tahap: mencari hingga separuh klaster terdekat dan memeriksa filter di setiap klaster sebelum menghitung skor.

Sisipan baru dimasukkan ke klaster terdekat dan langsung dapat dicari. Karena centroid tetap berada di posisi saat indeks dibangun, unggahan tersebut menyarankan untuk menjalankan REINDEX atau mengaktifkan pemeliharaan otomatis setelah terjadi perubahan besar, seperti pemuatan massal yang menggandakan ukuran tabel, agar klaster dapat diseimbangkan kembali.

Hasil Tolok Ukur yang Dilaporkan Pinecone

Pinecone membandingkan mesin native dengan indeks HNSW pgvector, menggunakan vektor berukuran penuh dan halfvec, pada 1 juta vektor wiki_dpr berdimensi 768. Pengujian dijalankan pada instans AWS r6id.4xlarge dengan 16 vCPU dan RAM 128 GB. Latensi tanpa filter, waktu pembangunan, dan ukuran indeks diukur dalam satu sesi pada PostgreSQL 17; pencarian dengan filter diukur dalam sesi lain pada PostgreSQL 18; sedangkan konfigurasi dengan batas memori diuji dalam sesi ketiga. Latensi dilaporkan sebagai median p50 pada k=10 dengan satu klien. Perusahaan menyatakan bahwa seluruh pengaturan dan perintah untuk mengulangi pengujian tersedia dalam README perangkat uji tolok ukur di repositori.

Untuk 1 juta vektor tersebut, Pinecone melaporkan indeks native berukuran 136 MB, dibandingkan dengan 2.0 GB untuk HNSW pada halfvec dan 4.1 GB untuk vektor berukuran penuh. Dalam pencarian tanpa filter, perusahaan melaporkan latensi 1.3 ms pada recall 0.95, dibandingkan dengan 1.7 ms untuk HNSW pada halfvec dan 2.7 ms pada vektor berukuran penuh; pada recall 0.99, latensinya 2.3 ms, dibandingkan dengan 4.7 ms dan 6.7 ms. Dengan filter yang cocok dengan 10% baris, Pinecone melaporkan bahwa mesin native mencapai recall 1.000 dalam 12.3 ms menggunakan pemfilteran satu tahap, sementara HNSW dengan pemindaian berulang mencapai recall paling tinggi 0.920 dalam 5.9 ms. Dengan filter 1%, recall yang dilaporkan adalah 0.981 dalam 8.3 ms. Waktu pembangunan yang dilaporkan adalah 45 detik untuk mesin native, dibandingkan dengan 62 detik untuk HNSW pada halfvec dan 79 detik untuk vektor berukuran penuh.

Ketersediaan dan Fitur Pinecone Opsional

pg_pinecone memerlukan PostgreSQL 17 atau 18, akses superuser, dan pgvector yang terpasang di server. Ekstensi ini dapat dipasang dari rilis siap pakai di GitHub atau melalui image pineconeteam/pg_pinecone di Docker Hub. README menjelaskan bahwa image tersebut adalah image pgvector/pgvector yang ditambahkan pg_pinecone, dan diterbitkan dengan satu tag untuk setiap versi mayor Postgres, seperti 0.11.0-pg17. Untuk menjalankan mesin jarak jauh, ekstensi juga harus dimuat melalui shared_preload_libraries. Penyiapan membuat ekstensi vector dan pg_pinecone, lalu membangun indeks dengan pemanggilan pinecone.create_index(). Proyek ini juga dapat dibangun dari kode sumber menggunakan perangkat pengembangan Rust dan cargo-pgrx 0.19.2.

Dengan kunci API Pinecone opsional, mesin jarak jauh menyinkronkan embedding ke indeks Pinecone di latar belakang, sementara pencarian tetap berjalan di Postgres hingga penyalinan selesai. Artikel tersebut menguraikan tiga fitur opsional lainnya: embed() memanggil layanan inferensi Pinecone untuk mengubah teks menjadi embedding melalui SQL, dapat digunakan dengan mesin native maupun mesin jarak jauh, dan untuk pembangunan awal tersedia melalui paket gratis Pinecone; pencarian teks penuh BM25 berjalan berdampingan dengan pencarian vektor pada tabel yang sama, dengan kueri BM25, vektor, atau hibrida yang dijalankan melalui SQL; dan rerank() mengurutkan ulang hasil teratas menggunakan model pemeringkatan ulang Pinecone.

Dokumentasi di docs.pinecone.io mencakup pemasangan, mesin penyimpanan, peralihan mesin, dan pencarian teks penuh. Sementara itu, repositori menyediakan referensi SQL, panduan operasional, dan panduan pemulihan bencana. Pinecone menyebutnya sebagai rilis pertama proyek tersebut, menyatakan bahwa perusahaan memelihara pg_pinecone dan meninjau setiap pull request, serta mengatakan bahwa peta jalan publik akan disusun berdasarkan masukan yang disampaikan melalui isu GitHub, komunitas Discord, dan jam konsultasi bulanan.

Jonas Reeve adalah agen riset yang dihasilkan AI di Unite.AI, yang berfokus pada AI kognitif, kecerdasan umum buatan (AGI), dan dasar teoretis kecerdasan mesin. Karyanya mengeksplorasi bagaimana pembelajaran, penalaran, memori, dan abstraksi muncul baik dalam sistem biologis maupun buatan, serta menghubungkan arsitektur AI modern dengan pertanyaan-pertanyaan lama dalam ilmu kognitif dan filsafat pikiran.

Dengan pendekatan konseptual dan reflektif, Jonas meneliti kerangka kerja seperti model penalaran, sistem agen, kognisi emergen, dan teori penyelarasan, dengan tujuan memperjelas apa arti sebenarnya kemajuan menuju AGI—dan apa yang tidak. Alih-alih mengejar jadwal atau hype, ia menekankan prinsip pertama, ketelitian konseptual, dan batasan model saat ini.

Artikel yang ditulis oleh Jonas Reeve dihasilkan AI dan ditinjau oleh tim editorial Unite.AI untuk memastikan akurasi, kejelasan, dan diskusi yang bertanggung jawab tentang konsep AI tingkat lanjut.