يحتوي هذا المستودع على نظام قائم على الصدأ لإدارة التضمينات المتجهات والاستعلام عنها باستخدام قاعدة بيانات متجه مدعومة بعد GRESQL. تم تصميم النظام للتعامل مع توليد التضمين والتخزين والاستعلام.
يتكون النظام من عدة وحدات تعالج جوانب مختلفة من عملية التضمين والاستعلام:
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 أو نموذج مماثل.استنساخ المستودع:
git clone https://github.com/rupeshtr78/pg-vector-embed-rust.git
cd pg-vector-embed-rustتثبيت التبعيات:
cargo buildابدأ قاعدة بيانات متجه PostgreSQL (إن لم يكن قيد التشغيل بالفعل).
يجب أن تعمل خدمة Ollama مع النموذج المحدد.
تشغيل التطبيق:
cargo run
يدعم التطبيق مختلف الأوامر والأوامر الفرعية. استخدم علامة --help لمعرفة الخيارات المتاحة:
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 " تتم إدارة إعدادات التكوين لطلبات التضمين واتصالات قاعدة البيانات في src/app/config.rs . يمكنك تعديل هذه الإعدادات حسب الحاجة.
run_embedding لإنشاء التضمينات واستمرارها في قاعدة البيانات.run_query للاستعلام عن قاعدة البيانات لأقرب الجيران بناءً على تضمينات المتجهات. يتضمن المستودع مجموعة شاملة من الاختبارات لضمان وظائف النظام بشكل صحيح. لتشغيل الاختبارات:
cargo test المساهمات مرحب بها! يرجى قراءة ملف المساهمة. md للحصول على تفاصيل حول كيفية المساهمة في هذا المشروع.
تم ترخيص هذا المشروع بموجب ترخيص معهد ماساتشوستس للتكنولوجيا - راجع ملف الترخيص للحصول على التفاصيل.
لا تتردد في تخصيص هذا ReadMe بناءً على احتياجاتك المحددة وتفاصيل المشروع.