Dieses Repository enthält ein rostbasiertes System zum Verwalten von Vektor-Einbettungen und Abfragen mit einer Postgresql-von Vektor-Datenbank. Das System ist für die Einbettung von Erzeugung, Speicherung und Abfrage ausgelegt.
Das System besteht aus mehreren Modulen, die verschiedene Aspekte des Einbettungs- und Abfrageprozesses verarbeiten:
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 oder ähnlichem Modell.Klonen Sie das Repository:
git clone https://github.com/rupeshtr78/pg-vector-embed-rust.git
cd pg-vector-embed-rustAbhängigkeiten installieren:
cargo buildStarten Sie die PostgreSQL Vector -Datenbank (falls nicht bereits ausgeführt).
Der Ollama -Service sollte mit dem angegebenen Modell ausgeführt werden.
Führen Sie die Anwendung aus:
cargo run
Die Anwendung unterstützt verschiedene Befehle und Unterbefehle. Verwenden Sie das Flag --help -Flag, um verfügbare Optionen anzuzeigen:
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 " Konfigurationseinstellungen für Einbettungsanforderungen und Datenbankverbindungen werden in src/app/config.rs verwaltet. Sie können diese Einstellungen nach Bedarf ändern.
run_embedding , um Einbettungen zu generieren und in der Datenbank zu bestehen.run_query , um die Datenbank für nächste Nachbarn basierend auf Vektoreinbettungen abzufragen. Das Repository enthält eine umfassende Testsuite, um sicherzustellen, dass das System korrekt funktioniert. Um die Tests durchzuführen:
cargo test Beiträge sind willkommen! Bitte lesen Sie die Datei für die beitragen.md, um Einzelheiten zum Beitrag zu diesem Projekt zu erhalten.
Dieses Projekt ist unter der MIT -Lizenz lizenziert - Einzelheiten finden Sie in der Lizenzdatei.
Fühlen Sie sich frei, diese Readme anhand Ihrer spezifischen Anforderungen und Projektdetails weiter anzupassen.