Repositori ini berisi sistem berbasis karat untuk mengelola embeddings vektor dan menanyakannya menggunakan database vektor yang didukung PostgreSQL. Sistem ini dirancang untuk menangani pembuatan, penyimpanan, dan permintaan yang menanamkan.
Sistem ini terdiri dari beberapa modul yang menangani berbagai aspek dari proses penyematan dan permintaan:
src/
├── app/
│ ├── commands.rs
│ ├── config.rs
│ └── constants.rs
├── embedding/
│ ├── run_embedding.rs
│ └── vector_embedding.rs
├── main.rs
├── tests/
│ ├── setup_docker.rs
│ ├── test_pgclient.rs
│ ├── test_query_vector.rs
│ ├── test_run_embedding.rs
│ └── test_vector_embedding.rs
├── vectordb/
│ ├── pg_vector.rs
│ └── query_vector.rs
├── lib.rs
├── vectordb/mod.rs
├── tests/mod.rs
├── embedding/mod.rs
└── app/mod.rs
nomic-embed-text atau model serupa.Klon Repositori:
git clone https://github.com/rupeshtr78/pg-vector-embed-rust.git
cd pg-vector-embed-rustInstal dependensi:
cargo buildMulai database Vektor PostgreSQL (jika belum berjalan).
Layanan Ollama harus berjalan dengan model yang ditentukan.
Jalankan aplikasi:
cargo run
Aplikasi mendukung berbagai perintah dan sub -perintah. Gunakan bendera --help untuk melihat opsi yang tersedia:
cargo run -- --help
cargo run -- write --input " dog sound is called bark " --input " cat sounds is called purr " --model " nomic-embed-text " --table " from_rust2 " --dim 768 --log-level " debug "
cargo run -- query --input " who is barking " --model " nomic-embed-text " --table " from_rust2 " Pengaturan konfigurasi untuk permintaan embedding dan koneksi basis data dikelola dalam src/app/config.rs . Anda dapat memodifikasi pengaturan ini sesuai kebutuhan.
run_embedding untuk menghasilkan embeddings dan bertahan di database.run_query untuk meminta database untuk tetangga terdekat berdasarkan embeddings vektor. Repositori mencakup rangkaian tes yang komprehensif untuk memastikan fungsi sistem dengan benar. Untuk menjalankan tes:
cargo test Kontribusi dipersilakan! Harap baca file contributing.md untuk detail tentang cara berkontribusi pada proyek ini.
Proyek ini dilisensikan di bawah lisensi MIT - lihat file lisensi untuk detailnya.
Jangan ragu untuk menyesuaikan readme ini lebih lanjut berdasarkan kebutuhan spesifik dan detail proyek Anda.