Repositório que introduz o conceito básico de vector-databases e exemplos utilizando banco de dados locais com o ChromaDB.
O Vector Database - que será chamado como VecDB nesse repositório - consiste em um banco de dados especializado para armazenar e manipular dados vetoriais altamente dimensionados de forma eficiente.
Hoje em dia é extremamente necessário utilizar esse tipo de banco de dados pois 80% das informações disponíveis estão de maneira não estruturadas (Onna). Armazenar e fazer queries de maneira eficiente ainda podem ser problemas mesmo nos bancos de dados não relacionais.
De maneira geral, o fluxograma para construir os vetores seguem como na imagem abaixo:
Com isso, é possível calcular a similaridade entre os vetores a partir de cálculos vetoriais, tais como:
- Distância euclidiana
- Cosseno
- Manhattan
- Uma breve introdução aos conceito de Vector Database;
- Exemplos simples mostrando como funciona o armazenamento em um banco de dados relacional e em um banco de dados vetorial;
- Como fazer queries para buscar os documentos;
- Pipelines para tratar dados
Os exemplos se basearão no banco de dados Medium Post Titles disponível no Kaggle. Também estará uma no repositório a partir de um arquivo .csv
no diretório data/0_raw
.
Python 3.11.
Este repositório conta com as principais bibliotecas:
E o Poetry como gerenciados de bibliotecas.
Para instalar o projeto, primeiramente clone-o do github
git clone https://github.com/RWallan/vector-database.git
cd vector-database
E instale as dependências
poetry install
Esse projeto está sob os termos da licença MIT.