Como Criar um Sistema Especialista de Recomendação com Streamlit

Aprenda a construir um sistema de recomendação com Streamlit e Python para orientar decisões de compra de hardware de forma interativa e web-ready.

Escolher o computador ideal para trabalho, estudo ou jogos tornou-se um desafio complexo. O mercado apresenta centenas de especificações técnicas — como tipos de processador, frequências de memória, perfis térmicos e GPUs dedicadas — que frequentemente confundem o comprador médio. A aplicação de inteligência artificial por meio de sistemas especialistas resolve essa dor ao traduzir necessidades reais de uso em especificações exatas de hardware.

Neste artigo, você aprenderá a estruturar um sistema de recomendação com Streamlit e Python, transformando dados técnicos brutos em uma ferramenta online interativa de tomada de decisão.


O Que É um Sistema Especialista de Recomendação?

Diferente de um modelo tradicional de recomendação baseado em comportamento de navegação (como filtragem colaborativa), um sistema especialista opera sobre regras de inferência e cálculo de utilidade. Ele simula o raciocínio de um consultor de tecnologia:

  1. Coleta de Perfil: O usuário informa seu orçamento, softwares principais (ex.: Blender, VS Code, Pacote Office) e mobilidade desejada.
  2. Motor de Inferência: O sistema calcula a compatibilidade técnica mínima e recomendada.
  3. Classificação Multicritério: Avalia pontuações ponderadas de cada equipamento com base em custo-benefício, desempenho e confiabilidade.

Arquitetura da Aplicação em Python

Para tornar essa lógica disponível na web com alto desempenho e baixo tempo de resposta, a combinação de Streamlit com Pandas e algoritmos de decisão multicritério (MCDM) é uma das abordagens mais eficientes.

1. Modelagem da Base de Conhecimento

Os dados de hardware devem ser estruturados com atributos normalizados (preço, clock base/boost, TDP, pontuações de benchmark sintético como Cinebench e Geekbench). O pré-processamento garante que pesos possam ser atribuídos a cada componente:

python
import pandas as pd
import numpy as np

def normalizarmetricas(df):
# Normaliza CPU e GPU para escalas comparáveis de 0 a 1
df[‘score
cpunorm’] = df[‘benchmarkcpu’] / df[‘benchmarkcpu’].max()
df[‘score
gpunorm’] = df[‘benchmarkgpu’] / df[‘benchmarkgpu’].max()
df[‘custo
beneficio’] = (df[‘scorecpunorm’] + df[‘scoregpunorm’]) / df[‘preco’] return df

2. Motor de Regras e Inferência

Como especialista em IA, costumo recomendar a separação rigorosa entre as regras de negócio e a interface. As regras eliminatórias (filtros rígidos de orçamento e memória mínima) devem anteceder a ordenação heurística para poupar processamento:

python
def filtrarcandidatos(df, orcamentomax, rammin, precisagpudedicada):
criterios = (
(df[‘preco’] <= orcamento
max) &
(df[‘ramgb’] >= rammin)
)
if precisagpudedicada:
criterios &= (df[‘gpu_tipo’] == ‘Dedicada’)

candidatos = df[criterios].copy()
return candidatos.sort_values(by='custo_beneficio', ascending=False)

3. Construção da Interface Web com Streamlit

O Streamlit permite compor a interface de usuário diretamente em Python, gerenciando estados de sessão sem necessidade de pipelines complexos de front-end:

python
import streamlit as st

st.setpageconfig(page_title=”Laptop AI Recommender”, layout=”wide”)

st.title(“Assistente Inteligente para Seleção de Laptops”)
st.write(“Defina seus requisitos para receber recomendações otimizadas.”)

col1, col2 = st.columns(2)
with col1:
orcamento = st.slider(“Orçamento Máximo (R$)”, 2500, 25000, 6000, step=500)
uso_principal = st.selectbox(“Uso Principal”, [“Produtividade/Office”, “Programação/Ciência de Dados”, “Edição de Vídeo/3D”, “Jogos”])

with col2:
prioridade_bateria = st.checkbox(“Priorizar autonomia de bateria”)
portabilidade = st.checkbox(“Necessita peso leve (menos de 1.5kg)”)

if st.button(“Gerar Recomendação”):
# Executa a lógica de inferência e renderiza os melhores resultados
resultados = processarrecomendacao(orcamento, usoprincipal, prioridadebateria, portabilidade)
st.dataframe(resultados[[‘modelo’, ‘cpu’, ‘gpu’, ‘ram
gb’, ‘preco’, ‘pontuacao_final’]])


Otimização e Deploy para Produção

Para que o sistema suporte múltiplos acessos simultâneos sem gargalos de latência, alguns cuidados técnicos são fundamentais:

  • Cache Inteligente (@st.cache_data): Armazene o carregamento dos catálogos de hardware em cache para evitar leituras repetidas de banco de dados ou arquivos estáticos a cada interação do usuário.
  • Containerização com Docker: Isole as dependências do ambiente Python e configure o runtime com limites previsíveis de memória.
  • Hospedagem em Nuvem: Implemente o serviço em instâncias de computação em nuvem (como AWS ECS, GCP Cloud Run ou Streamlit Community Cloud) com certificados SSL ativos.

Próximos Passos para o Seu Projeto

Sistemas especialistas interativos como este têm grande potencial comercial: aumentam a taxa de conversão em e-commerces, reduzem o tempo de atendimento em suporte técnico e guiam investimentos corporativos em infraestrutura de forma analítica.

Se você deseja desenvolver um sistema de recomendação customizado, integrando modelos preditivos avançados, automações em Python e interfaces prontas para o mercado, entre em contato para estruturarmos uma consultoria técnica sob medida para as necessidades do seu negócio.

Preencha o formulário abaixo para que eu consiga entrar em contato com você.