Introdução
Quando desenvolvemos aplicações em Python, o FastAPI é uma escolha de primeira linha para construir soluções de alto desempenho. Ele oferece velocidade, simplicidade e suporte para programação assíncrona, tornando-o ideal para desenvolver aplicações modernas, escalonáveis.
Neste tutorial, vamos guiar você pelo processo de configuração de uma aplicação FastAPI com uma base de dados NoSQL. Quando se trata de armazenamento e gerenciamento de dados, as bases de dados NoSQL oferecem flexibilidade e escalabilidade, tornando-as um ótimo conjunto para aplicações que precisam lidar com estruturas de dados diversas e complexas.
Pré-requisitos
Antes de começar, você precisa certificar-se de que você tem o seguinte:
-
Um servidor executando o Ubuntu, juntamente com um usuário não-root com privilégios de sudo e uma firewall ativa. Para orientação sobre como configurar isso, por favor escolha sua distribuição da lista e siga com o guia de configuração inicial do servidor. Certifique-se de trabalhar com uma versão suportada do Ubuntu.
-
Familiaridade com a linha de comando do Linux. Para uma introdução ou atualização das informações sobre a linha de comando, você pode visitar este guia sobre primeiro Linux command line.
-
Execute
sudo apt-get update
no terminal do Ubuntu para certificar-se que o seu sistema tem as versões mais recentes e atualizações de segurança para o software disponível nos repositórios configurados no seu sistema.
Estas instruções são válidas para as versões mais recentes do Ubuntu: Ubuntu 24.04, Ubuntu 22.04 e Ubuntu 20.04. Se você estiver usando a versão de Ubuntu <= 18.04, recomendamos que você atualize para uma versão mais recente, pois o Ubuntu já não fornece suporte para essas versões. Esta coleção de guias o ajudará a atualizar sua versão do Ubuntu.
Passo 1 – Configurar o Ambiente Python no Seu Computador
Throughout this tutorial, we will be using the python3
package to run commands. The latest Ubuntu versions come with Python 3 installation, so to verify its installation, run the following command:
In case this returns an error, you can install/re-install the package by running:
Next, you need to install the pip
to install Python packages and their dependencies in a secure manner.
Step 2 – Create Virtual Environment
If you are using Ubuntu version < 24.04, you do not need to create a virtual environment but it’s a good practice to isolate your project’s dependencies.
A partir de Python 3.11 e pip 22.3, existe uma nova PEP 668 que define a marcação de ambientes básicos do Python como “gerenciados externamente”, o que significa que você não será capaz de usar pip
para instalar pacotes com sucesso a menos que você trabalhe dentro de um ambiente virtual.
Neste passo, você criará um ambiente virtual para seu projeto, que isolará as dependências do seu projeto para evitar conflitos entre versões de pacotes diferentes. Execute o seguinte conjunto de comandos no terminal:
Isso instalará o pacote necessário venv
necessário para criar um ambiente virtual.
Este comando criará um ambiente virtual fastapi-env
dentro do seu diretório de trabalho. Para começar a trabalhar dentro deste ambiente, você precisa ativá-lo.
Após a execução bem-sucedida, você verá o prompt do terminal com o prefixo como este:
(fastapi-env) user@machine:~$
Agora, você pode começar a instalar as dependências necessárias neste ambiente virtual.
Passo 3 – Instalar Bibliotecas e Pacotes Necessários
Neste passo, você instalará alguns pacotes e bibliotecas que são necessários para seguir este tutorial com sucesso.
Vamos começar instalando o fastapi
, que é necessário para construir o seu aplicativo FastAPI, e o uvicorn
, que é necessário para executar o aplicativo FastAPI.
Neste tutorial, usaremos o MongoDB como banco de dados NoSQL. Para interagir com o MongoDB a partir do seu FastAPI, você precisa instalar o motor
, que é um driver assíncrono em Python para o MongoDB.
Passo 4 – Instalar e Configurar o MongoDB no Ubuntu
Para instalar o MongoDB em sua máquina Ubuntu, execute o seguinte conjunto de comandos no terminal:
Após a execução bem-sucedida, isso retorna o parâmetro echo. Agora, faça um rápido:
Isso garantirá que você obtenha as últimas atualizações após a configuração das chaves do MongoDB.
A seguir, você precisa instalar uma dependência de openssl
no seu sistema, que é necessário para a instalação do MongoDB.
Upon execution, you will be asked to restart services. After restarting, install MongoDB using the following command:
Inicie e ative os serviços do MongoDB:
Você pode verificar o status do serviço do MongoDB e testar a conexão executando os seguintes comandos:
Passo 5 – Criar Aplicação FastAPI
A próxima etapa é criar uma aplicação FastAPI. Em seu diretório de trabalho, crie um arquivo database.py
:
Isso abre um editor de texto vazio. Escreva sua lógica de conexão com o banco de dados aqui.
Ao assumir que a mycollection
de mydatabase
está populada com algum dado, você agora cria um main.py
que contém a lógica da sua aplicação. Na seguinte aplicação FastAPI, uma conexão com o banco de dados é estabelecida usando database.py
; as rotas para previsão por AI são definidas. Usando essas rotas, a entrada é validada.
No editor de texto, escreva a lógica:
Aqui está o resumo do que essa aplicação faz:
- Modelo de Regressão Linear do sklearn: Este modelo preve uma saída com base em uma única feature de entrada.
- Entrada de Dados de Modelo Pydantic: Isso define a estrutura de entrada esperada para o ponto de predição. Neste caso, é um
float
. - Rotas MongoDB: As rotas
/items/
ePOST /items/
permitem que você recupere e insira itens na sua coleção MongoDB.
Passo 6 – Executar Aplicação FastAPI
Para executar corretamente esta aplicação, você precisa instalar as bibliotecas e pacotes usados na aplicação.
Agora, use o comando seguinte para executar esta aplicação:
A saída deste comando será:
OutputINFO: Will watch for changes in these directories: ['/path/to/your/project']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [XXXXX] using statreload
INFO: Started server process [XXXXX]
INFO: Waiting for application startup.
INFO: Application startup complete.
FastAPI automaticamente gerou uma documentação interativa de API usando Swagger UI. Você pode acessá-la navegando até http://127.0.0.1:8000/docs
.
Você pode usar ferramentas como curl
ou Postman para chamar o ponto final que prediz um valor com base em sua entrada.
curl -X POST "http://127.0.0.1:8000/predict/" -H "Content-type: application/json" -d '{"feature": 3}'
Passo 7 [OPCIONAL] – Executar Aplicação Usando Docker Compose
Você pode contêiner sua aplicação e executá-la usando docker-compose
. Contêinerizar sua aplicação otimiza o processo de implantação, tornando sua aplicação mais fácil de implantar, dimensionar e manter. Para definir sua aplicação como um Dockerfile, siga os passos mencionados em Deploy FastAPI Application using Docker Compose.
Conclusão
Neste tutorial, você aprendeu como configurar com sucesso uma aplicação FastAPI com MongoDB, criando uma simples aplicação baseada em AI que é capaz de armazenar e recuperar previsões de entrada.
A combinação de FastAPI e um banco de dados não-relacional oferece um ambiente poderoso e flexível para construir e dimensionar aplicações baseadas em AI.
Source:
https://www.digitalocean.com/community/tutorials/set-up-fastapi-app-with-nosql-db