Introdução
Quando desenvolvemos aplicações em Python, o FastAPI destaca-se como uma opção de topo 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 escalá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 armazenar e gerenciar dados, as bases de dados NoSQL oferecem flexibilidade e escalabilidade, tornando-as uma ótima escolha 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 tem os seguintes:
-
Um servidor rodando 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 de essa lista e siga com nossa 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 sobre a linha de comando, você pode visitar este guia sobre Primeiro Passo no Linux – Linha de Comando.
-
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 – Criar Ambiente Virtual
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 êxito a menos que você trabalhe dentro de um ambiente virtual.
Neste passo, você criará um ambiente virtual para o seu projeto, que isolará as dependências do seu projeto para evitar conflitos entre versões diferentes de pacotes. 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 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:
(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 êxito.
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, vamos usar o MongoDB como base 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 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 depois de configurar as 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.
Após a execução, você será solicitado a reiniciar os serviços. Após o reinício, instale o MongoDB usando o seguinte comando:
Inicie e habilite 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.
Assumindo que a mycollection
de mydatabase
está populada com algumas informações, 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ões de IA 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 a partir de Modelo Pydantic: Isto 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 de API interativa 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 na 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 containerizar seu aplicativo e executá-lo usando docker-compose
. Containerizar seu aplicativo simplifica o processo de implantação, tornando seu aplicativo mais fácil de implantar, dimensionar e manter. Para definir seu aplicativo como um Dockerfile, siga os passos mencionados em Deploy FastAPI Application using Docker Compose.
Conclusão
Neste tutorial, você aprendeu como configurar com sucesso um aplicativo FastAPI com MongoDB, criando um simples aplicativo baseado em AI 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 aplicativos驱动器 por AI.
Source:
https://www.digitalocean.com/community/tutorials/set-up-fastapi-app-with-nosql-db