Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MC-70 – Consulta de Manual com IA

API Flask + Frontend para consulta ao Manual Operacional do Elevador MC-70 usando IA (Groq - llama-3.3-70b).

Como rodar localmente

1. Pré-requisitos

2. Instalar dependências

pip install -r requirements.txt

3. Configurar variável de ambiente

Crie um arquivo .env na raiz do projeto:

GROQ_API_KEY=sua-chave-aqui

4. Rodar o servidor

python app.py

Acesse: http://localhost:5000


Como usar

  1. Tela 1 — Carregar Texto: cole o conteúdo do Manual MC-70 e clique em "Enviar texto para a IA"
  2. Tela 2 — Fazer Pergunta: digite sua pergunta e clique em "Consultar Manual"

A IA responde somente com base no texto enviado. Se a resposta não estiver no manual, retorna: "Não sei com base nas informações fornecidas."


Endpoints da API

POST /upload-text

Armazena o texto-base em memória.

Body:

{ "text": "conteúdo do manual..." }

Resposta:

{ "message": "Texto armazenado com sucesso.", "chars": 3842 }

POST /ask

Envia uma pergunta à IA, que responde com base no texto armazenado.

Body:

{ "question": "Qual é a capacidade máxima de carga?" }

Resposta:

{ "answer": "A capacidade máxima absoluta é 180 kg..." }

Estrutura do projeto

├── app.py              # API Flask (backend)
├── requirements.txt    # Dependências Python
├── .env                # Chave da API (não commitado)
├── .gitignore          # Ignora o .env
├── README.md
└── static/
    └── index.html      # Frontend (single file)

Decisões técnicas

Backend

  • Flask: leve, sem overhead, ideal para APIs pequenas e protótipos rápidos
  • Armazenamento em memória: variável global stored_text — sem necessidade de banco para o escopo do teste
  • flask-cors: permite chamadas do frontend em qualquer origem
  • Groq (llama-3.3-70b): API compatível com padrão OpenAI, gratuita e com baixa latência

Prompt Engineering

O system prompt instrui o modelo a responder somente com base no texto enviado e a retornar a frase padrão "Não sei com base nas informações fornecidas." quando a resposta não estiver disponível. O texto completo é incluído em cada requisição (stateless por design).

Frontend

  • HTML/CSS/JS puro em único arquivo (static/index.html) servido pelo próprio Flask
  • Sem dependências de build (zero configuração)
  • Estética industrial/retro adequada ao contexto do equipamento (anos 70)
  • Interface em duas abas: upload do texto → perguntas

Segurança / Robustez

  • Arquivo .env no .gitignore — chave nunca exposta no repositório
  • Validação de campos vazios em ambos os endpoints
  • Timeout de 30s nas chamadas à IA
  • Tratamento de erros HTTP e de rede com mensagens claras ao usuário

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages