Danielfonseca1212's picture
Update README.md
3bf7ed4 verified

A newer version of the Streamlit SDK is available: 1.57.0

Upgrade
metadata
title: Structured Output Extractor
emoji: 🔩
colorFrom: green
colorTo: gray
sdk: streamlit
sdk_version: 1.29.0
python_version: '3.10'
app_file: app.py
pinned: false

🔩 Structured Output Extractor

Extrator universal de dados estruturados usando OpenAI Function Calling com schema JSON dinâmico e retry automático com error feedback.

🔧 Como funciona

Texto qualquer (contrato, notícia, CV, invoice...)
  ↓
Schema selecionado (preset ou customizado pelo usuário)
  ↓
Tool definition criada dinamicamente (OpenAI function)
  ↓
gpt-4o-mini chamado com tool_choice="required"
  ↓
JSON parseado → validado
  ↓
Retry automático com feedback de erro ao LLM (max 2x)
  ↓
Output: campos visuais + JSON bruto + download

📋 Schemas Disponíveis

Schema Campos principais
Contrato Legal Partes, objeto, valor, prazo, obrigações
Notícia / Artigo Entidades, fatos, sentimento, dados numéricos
Currículo / CV Experiências, formação, habilidades, idiomas
Invoice / NF Emitente, destinatário, itens, totais
Artigo Científico Autores, metodologia, métricas, contribuições
Custom Qualquer schema JSON definido pelo usuário

⚙️ Secrets

  • OPENAI_API_KEY

🚀 Local

pip install openai altair streamlit
export OPENAI_API_KEY=sk-...
streamlit run app.py