
Embedpg adalah layanan API Node.js yang menggunakan PostgreSQL dengan ekstensi pgvector . Ini membantu menyimpan dan mencari data vektor dalam database. Proyek ini adalah versi awal untuk melihat apakah itu berguna bagi orang -orang.
Database vektor sangat berguna tetapi seringkali mahal dan dibatasi. Saya membuat embedpg untuk membuat basis data ini lebih mudah dan lebih murah untuk digunakan. Ini bekerja dengan baik untuk berbagai ukuran proyek. Biaya utama berasal dari menggunakan layanan cloud seperti postgresql dan ruang server. EmbedPG membantu Anda mengatur database vektor dengan cepat dengan titik akhir API yang mudah digunakan dan alat baris perintah.
Kami menyimpan dan mencari embeddings menggunakan PostgreSQL dengan ekstensi pgvektor. Anda dapat menemukan pgvector di sini: pgvector di github.
PGVECTOR DUKUNGAN:
Ya, ada solusi cloud yang mendukung pgvector:
Embedpg memanfaatkan beberapa teknologi dan paket utama untuk memberikan fungsinya:
Sebelum Anda memulai proses instalasi, pastikan bahwa Anda memiliki prasyarat berikut yang diinstal:
npm install -g pnpm . Embedpg membutuhkan postgresql dengan ekstensi pgvector . Anda dapat mengatur ini menggunakan:
pgvector resmi tersedia di PGVector di GitHub. # Pull the Docker image
docker pull arisrayelyan/pgvector:latest
# Run the Docker container
docker run -d
--name pgvector
-e POSTGRES_PASSWORD=postgres
-e POSTGRES_USER=postgres
-e POSTGRES_DB=postgres
-p 5432:5432 arisrayelyan/pgvectorKlon repositori embedpg
git [email protected]:arisrayelyan/embed-pg.gitArahkan ke Direktori Proyek
cd embed-pgInstal dependensi
pnpm installMengatur variabel lingkungan
Salin file .env.example ke .env dan atur variabel lingkungan sesuai kebutuhan.
# General Settings
NODE_ENV=development
# Database Configuration
DB_USERNAME=postgres
DB_PASSWORD=postgres
DB_NAME=postgres
DB_HOST=localhost
DB_PORT=5432
# Server Settings
PORT=3000
CORS_ORIGINS=http://localhost:3000 # Set the allowed origins for CORS
# OpenAI Configuration
OPENAI_API_KEY= " "
OPEN_AI_MODEL= " "
OPEN_AI_API_ENDPOINT= " "Catatan: Variabel lingkungan openai diperlukan saat embedpg perlu menangani permintaan embedding untuk Anda.
Setelah menyiapkan variabel lingkungan Anda dan memasang embedPG, Anda siap mengatur komponen yang diperlukan agar layanan Anda beroperasi secara efektif.
pnpm generate:collections : Perintah ini meluncurkan alat baris perintah interaktif yang memandu Anda melalui menghasilkan semua komponen yang diperlukan untuk setiap koleksi baru yang ingin Anda tambahkan. Ini termasuk layanan, titik akhir API, entitas basis data, dan migrasi, memastikan layanan basis data vektor Anda komprehensif dan siap menangani kebutuhan data tertentu.pnpm generate:token : Perintah ini menghasilkan token API baru untuk layanan Anda, yang dapat Anda gunakan untuk mengotentikasi permintaan ke layanan embedPG Anda.pnpm start : Mulai Layanan dalam Mode Produksi.pnpm build : Bangun Aplikasi untuk Produksi.pnpm dev : Mulai layanan dalam mode pengembangan dan terapkan migrasi basis data.pnpm dev:db migration : Terapkan migrasi basis data dalam mode pengembangan.--create Flag membuat file migrasi baru.--up menerapkan semua migrasi yang tertunda.--down Flag menggulung migrasi terakhir.--to bendera menerapkan semua migrasi hingga migrasi tertentu.pnpm db migration : Terapkan migrasi basis data dalam mode produksi. Gunakan bendera yang sama seperti dalam mode pengembangan.pnpm lint : Periksa kode sumber untuk kesalahan gaya dan pemrograman.pnpm lint:fix : Secara otomatis memperbaiki kesalahan serat dalam kode sumber.Saat Anda menghasilkan koleksi baru, embedPG membuat file berikut:
src untuk memasukkan file baru. Catatan : Anda dapat menyesuaikan file yang dihasilkan agar sesuai dengan kebutuhan spesifik Anda. Tapi jangan lepaskan ! embedPg Komentar ! embedPg dalam file, karena embedpg menggunakan ini untuk mengidentifikasi file yang dihasilkan.
Berikut adalah dokumentasi API untuk embedpg.
Sebelum menggunakan embedpg ke lingkungan produksi, pastikan Anda telah mengatur variabel dan konfigurasi lingkungan yang diperlukan. Pastikan juga bahwa Anda menjalankan PostgreSQL dengan ekstensi pgvector (lihat bagian solusi cloud yang mendukung pgvektor ).
Jalankan perintah berikut untuk membangun aplikasi untuk produksi:
pnpm build Setelah build selesai, Anda akan memiliki direktori dist dengan kode yang dikompilasi. Menyebarkan kode ini ke server Anda dan jalankan perintah berikut untuk memulai layanan:
Pada awalnya menjalankan migrasi basis data:
pnpm prod:db migration --upMenghasilkan token API baru:
pnpm generate:tokenKemudian mulailah layanan:
pnpm startAnda juga dapat menggunakan embedpg menggunakan Docker.
Bangun gambar Docker ( Catatan: Pastikan Anda telah mengatur variabel lingkungan yang diperlukan):
./scripts/build-server.shProyek ini dilisensikan di bawah lisensi MIT. Lihat file lisensi untuk detailnya.
Terima kasih atas minat Anda untuk berkontribusi pada embedpg! Lihat file contributing.md untuk pedoman tentang cara berkontribusi pada proyek.