Este repositório contém um sistema baseado em ferrugem para gerenciar incorporações de vetor e consultá-las usando um banco de dados vetorial apoiado pelo PostGresql. O sistema foi projetado para lidar com geração, armazenamento e consulta de incorporação.
O sistema é composto de vários módulos que lidam com diferentes aspectos do processo de incorporação e 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 ou modelo similar.Clone o repositório:
git clone https://github.com/rupeshtr78/pg-vector-embed-rust.git
cd pg-vector-embed-rustInstale dependências:
cargo buildInicie o banco de dados Vector PostGresql (se ainda não estiver em execução).
O serviço Ollama deve estar em execução com o modelo especificado.
Execute o aplicativo:
cargo run
O aplicativo suporta vários comandos e subcomandos. Use o sinalizador --help para ver as opções disponíveis:
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 " As configurações de configuração para incorporar solicitações e conexões de banco de dados são gerenciadas no src/app/config.rs . Você pode modificar essas configurações conforme necessário.
run_embedding para gerar incorporação e persista no banco de dados.run_query para consultar o banco de dados para os vizinhos mais próximos com base nas incorporações do vetor. O repositório inclui um conjunto abrangente de testes para garantir que o sistema funcione corretamente. Para executar os testes:
cargo test As contribuições são bem -vindas! Leia o arquivo contribuindo.md para obter detalhes sobre como contribuir para este projeto.
Este projeto está licenciado sob a licença do MIT - consulte o arquivo de licença para obter detalhes.
Sinta -se à vontade para personalizar ainda mais a leitura com base em suas necessidades específicas e detalhes do projeto.