Loading repository data…
Loading repository data…
Gefte / repository
Ambiente local para análise de dados e construção de modelos de machine learning utilizando MLflow e Docker. Inclui configuração com Docker Compose para integração com PostgreSQL e MinIO, facilitando o rastreamento de experimentos e o gerenciamento de artefatos e metadados em projetos de ciência de dados
Ambiente local para análise de dados e construção de modelos de machine learning utilizando MLflow e Docker. Inclui configuração com Docker Compose para integração com PostgreSQL e MinIO, facilitando o rastreamento de experimentos e o gerenciamento de artefatos e metadados em projetos de ciência de dados.
Clone o repositório:
git clone https://github.com/Gefte/mlflow-data-analysis-ml.git
cd mlflow-data-analysis-ml
Inicie os serviços usando Docker Compose:
docker-compose up --build
Isso irá construir e iniciar os serviços:
Acesse os serviços:
http://localhost:8888 (token configurado como mlflow)http://localhost:5000http://localhost:8900 (usuário: mlflow, senha: password)http://localhost:8000/docs para acessar a documentação interativa da API./notebooks está mapeada para o diretório local para fácil edição e persistência dos notebooks.Para verificar o status de saúde da API:
GET /api/health
Para realizar uma previsão com um conjunto de características de vinho:
POST /api/predict
Exemplo de corpo da requisição:
{
"alcohol": 13.0,
"malic_acid": 2.0,
"ash": 2.5,
"alcalinity_of_ash": 15.0,
"magnesium": 100,
"total_phenols": 2.0,
"flavanoids": 2.5,
"nonflavanoid_phenols": 0.3,
"proanthocyanins": 1.5,
"hue": 1.0,
"od280_od315_of_diluted_wines": 3.0,
"proline": 800
}
A resposta será a previsão do modelo, e os dados de entrada e saída serão armazenados no MinIO.
No arquivo docker-compose.yml, os volumes mapeiam diretórios locais para os containers do Docker. Se você estiver utilizando um sistema diferente ou se os caminhos especificados não corresponderem à sua estrutura de diretórios, é importante ajustar os paths para refletirem o local correto em seu sistema.
Exemplo:
volumes:
- '/caminho/para/seu/projeto/notebooks:/home/jovyan/work'
Certifique-se de que os caminhos locais especificados existem e estão acessíveis para evitar erros durante a execução dos containers.
Se você estiver utilizando o ambiente Linux, certifique-se de conceder as permissões corretas ao diretório dos notebooks antes de iniciar os containers. Isso evitará problemas de acesso ao diretório montado no Jupyter.
Execute o seguinte comando para liberar as permissões:
sudo chmod -R 777 '/caminho/para/seu/projeto/mlflow-data-analysis-ml/notebooks'
Essa configuração garante que o Docker tenha as permissões necessárias para acessar e modificar os arquivos no diretório local.
Este ambiente permite o desenvolvimento completo e o deployment de modelos de machine learning utilizando uma infraestrutura local. A integração entre MLflow, FastAPI, MinIO e PostgreSQL proporciona um ciclo de vida eficiente para experimentação e deployment de modelos.