Este repositorio contiene un sistema basado en el óxido para administrar integridades vectoriales y consultarlos utilizando una base de datos vectorial respaldada por PostgreSQL. El sistema está diseñado para manejar la generación de incrustación, el almacenamiento y la consulta.
El sistema está compuesto por varios módulos que manejan diferentes aspectos del proceso de incrustación y consulta:
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 o modelo similar.Clon el repositorio:
git clone https://github.com/rupeshtr78/pg-vector-embed-rust.git
cd pg-vector-embed-rustInstalar dependencias:
cargo buildInicie la base de datos Vector PostgreSQL (si no se está ejecutando).
El servicio Ollama debe ejecutarse con el modelo especificado.
Ejecute la aplicación:
cargo run
La aplicación admite varios comandos y subcomandos. Use la bandera --help para ver las opciones disponibles:
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 " Los ajustes de configuración para las solicitudes de incrustación y las conexiones de la base de datos se administran en src/app/config.rs . Puede modificar estas configuraciones según sea necesario.
run_embedding para generar integridades y persistir en la base de datos.run_query para consultar la base de datos de los vecinos más cercanos en función de los incrustaciones vectoriales. El repositorio incluye un conjunto integral de pruebas para garantizar que el sistema funcione correctamente. Para ejecutar las pruebas:
cargo test ¡Las contribuciones son bienvenidas! Lea el archivo Contributing.MD para obtener detalles sobre cómo contribuir a este proyecto.
Este proyecto tiene licencia bajo la licencia MIT; consulte el archivo de licencia para obtener más detalles.
Siéntase libre de personalizar este readme en función de sus necesidades específicas y detalles del proyecto.