Этот репозиторий содержит систему на основе ржавчины для управления векторными встроениями и запроса их с использованием векторной базы данных, поддерживаемой PostgreSQL. Система предназначена для обработки встраивания генерации, хранения и запросов.
Система состоит из нескольких модулей, которые обрабатывают различные аспекты процесса внедрения и запроса:
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 Взносы приветствуются! Пожалуйста, прочитайте файл appling.md для получения подробной информации о том, как внести свой вклад в этот проект.
Этот проект лицензирован по лицензии MIT - для получения подробной информации см. Файл лицензии.
Не стесняйтесь настраивать эту Readme дальше в зависимости от ваших конкретных потребностей и деталей проекта.