DNATech :: 💡 Automação Inteligente de Pedidos de Vendas no ERP TOTVS Microsiga Protheus com LLM Local

_Créditos da imagem: ChatGPT

### 💡 **Treinando um modelo de IA local para entender linguagem natural e gerar pedidos de vendas no TOTVS Microsiga Protheus**

📦 Desafio: Muitos usuários (vendedores, representantes, etc.) descrevem pedidos de vendas em linguagem natural, seja por e-mail, WhatsApp ou até em papel. O objetivo é desenvolver uma IA que interprete essas descrições informais e as converta automaticamente em JSON estruturado, pronto para integração no ERP TOTVS Microsiga Protheus via a função sales_order_insert.

🔧 Tecnologia:

Modelo Base: qwen2.5-7b-instruct, executado localmente via Ollama ou LMStudio.

Frameworks: Transformers, PEFT, LoRA, Datasets (Hugging Face).

Dataset: Combinação de ~5.000 exemplos reais de pedidos textuais (coletados de e-mails, mensagens e formulários) e ~10.000 exemplos sintéticos (gerados via templates baseados em regras de negócio do Protheus).

Infraestrutura: Pipeline REST local com TFWRESTHTTPCONNECTOR para requisições ao LLM e mata410playagent para validação e inclusão de pedidos no Protheus.

Execução: 100% offline, garantindo segurança, privacidade e controle local, sem dependência de APIs externas.

Hardware: GPU NVIDIA com 24 GB VRAM para treinamento e inferência.

🧠 Processo de Treinamento:

Geração do Dataset:

Coleta de exemplos reais de pedidos em linguagem natural, como “Cliente 000001 quer 3 unidades do produto 1, 5 do produto 2, TES 501, local 01”.

Criação de dados sintéticos com variações de formato, gírias e erros comuns (ex.: “Quero 10 caixas do item 3 pro cliente XPTO”).

Anotação manual e validação cruzada para mapear textos a JSONs estruturados, garantindo consistência com o schema do Protheus.

Divisão do dataset: 80% treino, 10% validação, 10% teste.


Fine-Tuning com LoRA:

Uso de LoRA (Low-Rank Adaptation) para ajustar o modelo qwen2.5-7b-instruct com eficiência computacional, minimizando a necessidade de recursos.
Configuração: rank=16, learning rate=1e-4, 5 épocas.
Métricas de avaliação: acurácia na geração de JSON (>95%) e taxa de erro em campos críticos (ex.: códigos inválidos <1%).

Integração com o Protheus:

O TFWRESTHTTPCONNECTOR envia o texto do pedido ao LLM via endpoint REST (http://127.0.0.1:11435/v1/chat/completions/) e recebe o JSON estruturado.

O mata410playagent valida o JSON (ex.: códigos de cliente, produto, TES e local) antes de chamar sales_order_insert para inclusão no Protheus.

Exemplo de entrada e saída:

Entrada: “Tipo: N, cliente: 000001, loja: 01, Tipo do cliente: F, condição de pagamento: 15, Natureza: 0000000001, produto: 000000000000001, quantidade: 3 unidades, Preço Unitário: 2.75, TES: 501, local: 01, ...”

Saída 

```json JSON:{
  "order": {
    "type": "N",
    "client_id": "000001",
    "store_id": "01",
    "client_type": "F",
    "payment_condition": "15",
    "nature": "0000000001",
    "items": [
      {
        "product_id": "000000000000001",
        "quantity": 3,
        "unit_price": 2.75,
        "tes": "501",
        "location": "01"
      },
      ...
    ]
  }
}
```

🚀 Resultado Esperado:O modelo interpreta pedidos em linguagem natural com alta precisão, gerando JSONs estruturados que são validados pelo mata410playagent e integrados ao Protheus de forma segura. O sistema é robusto, lidando com variações de texto (erros de digitação, gírias) e operando offline para máxima privacidade. A solução é escalável para outros módulos do Protheus e replicável para diferentes ERPs.
📊 Validação:

Testes com 1.000 exemplos reais e sintéticos para verificar acurácia e robustez.

Monitoramento de erros (ex.: falhas em reconhecer códigos ou gerar campos inválidos).

Feedback iterativo para refinamento contínuo do modelo e dataset.

💬 Convite:Se você trabalha com ERP, automação de vendas ou LLMs locais, compartilhe suas ideias! Este projeto está sendo estruturado como um case open-source replicável para automação de processos em ERPs.

#IA #ERP #TOTVS #Protheus #LLM #Automacao #SalesOrder #OpenSource #FineTuning #LoRA #Qwen #Transformers #Python #OfflineAI

Torne-se um Sponsor: 🥊(дави)={0.5x[(Налдо)+(Алине)]}🥊

Comentários

Postagens mais visitadas