Fila
Nova Versão do Fila

Na versão 1.22 do fila, incluímos muitas evoluções.

Alem do visual melhorado, tambem incluimos versões desktop para o painel de senhas, bem como funcionalidades melhoradas no guichê e no fila.

Por ultimo, incluímos a versão Linux do Guichê que contará com atualizações para windows e Linux.

O instalador do guich}

https://github.com/marcelomaurin/fila

TreinamentoIA
Projeto: Chatbot Inteligente para Processos e Procedimentos com Atualização Automática e Fallback para ChatGPT (Base MySQL)

1. Introdução

Este projeto propõe o desenvolvimento de um chatbot inteligente voltado para dúvidas sobre processos e procedimentos, utilizando exclusivamente um banco de dados relacional (MySQL) como fonte principal de consulta, sem uso de bancos vetoriais como ChromaDB. O sistema será capaz de pesquisar documentos, apresentar respostas, registrar feedback dos usuários e, em caso de respostas insuficientes, recorrer à API do ChatGPT como fallback.


2. Objetivos

  • Automatizar o atendimento a dúvidas sobre processos e procedimentos documentados.
  • Permitir atualização automática diária do conhecimento do chatbot com novos documentos.
  • Garantir precisão e cobertura das respostas, recorrendo ao ChatGPT em caso de dúvidas não solucionadas localmente.
  • Permitir avaliação do usuário e contínua evolução do sistema.

3. Arquitetura e Frameworks Utilizados

3.1 Principais Frameworks e Bibliotecas

  • Python 3.9+: Linguagem principal do sistema.
  • MySQL: Banco relacional para armazenar documentos, textos extraídos, logs, feedback e metadados.
  • mysql-connector-python ou SQLAlchemy: Conexão e manipulação do MySQL em Python.
  • pdfminer.six: Extração de texto de PDFs.
  • python-docx: Extração de texto de arquivos Word.
  • OpenAI (API): Integração com ChatGPT para fallback.
  • Unstructured (opcional): Para leitura flexível de múltiplos formatos.
  • Streamlit ou Flask (opcional): Interface web para interação com usuário e avaliação de respostas.
  • Agendador de tarefas (cron, Task Scheduler): Para automação da ingestão e atualização diária de documentos.

4. Metodologias Utilizadas

  • Busca textual clássica (SQL): As perguntas dos usuários são tratadas como consultas de texto, usando buscas por palavra-chave (LIKE, FULLTEXT).
  • Fallback Inteligente: Caso nenhuma resposta relevante seja localizada no MySQL, a pergunta é repassada ao ChatGPT via API.
  • Ciclo de Aprendizagem Contínua: Feedback do usuário para identificar perguntas mal respondidas e melhorar a base.
  • Automação de atualização diária: Script agendado para processar novos documentos e atualizar o banco de dados.

5. Etapas do Projeto

5.1 Planejamento e Levantamento de Requisitos

  • Definição dos tipos de documentos a serem processados (PDF, DOCX, TXT).
  • Estruturação das pastas: /docs_novos/ para documentos a indexar, /docs_indexados/ para documentos já processados.
  • Estruturação do banco MySQL: tabelas para documentos, logs, feedback, usuários.

5.2 Ambiente e Infraestrutura

  • Instalação do Python e bibliotecas necessárias.
  • Instalação e configuração do MySQL Server.
  • Criação do banco de dados e tabelas.

5.3 Processamento e Indexação de Documentos

  • Extração de texto de PDFs e Word usando pdfminer.six e python-docx.
  • Inserção dos textos extraídos na tabela de documentos do MySQL, com campos como: ID, nome do arquivo, texto, data, usuário, etc.

5.4 Desenvolvimento do Chatbot

  • Recebimento da pergunta do usuário via interface CLI, Web ou API.
  • Consulta ao MySQL utilizando SQL FULLTEXT SEARCH (ou LIKE) para encontrar o(s) documento(s) mais relevante(s).
  • Exibição da resposta ao usuário.
  • Caso a resposta seja vazia ou não satisfatória, consulta à API do ChatGPT.
  • Registro da interação e da avaliação do usuário.

5.5 Automatização da Atualização Diária

  • Script automatizado, agendado, para processar novos documentos diariamente:
    • Extração do texto.
    • Inserção no banco de dados.
    • Movimentação dos arquivos para pasta de processados.

5.6 Interface com o Usuário e Feedback

  • (Opcional) Interface web para consulta e avaliação das respostas.
  • Registro do feedback do usuário em tabela específica para análise futura.

5.7 Testes e Validação

  • Testes unitários dos scripts de processamento.
  • Testes de busca e precisão de respostas.
  • Testes de fallback e integração com ChatGPT.

5.8 Documentação e Treinamento

  • Documentação detalhada do sistema, scripts e uso.
  • Treinamento dos usuários e administradores do sistema.

6. Considerações Técnicas

6.1 Limitações da Busca no MySQL

  • Busca por palavra-chave: O MySQL não realiza buscas semânticas, ou seja, depende da correspondência exata ou parcial das palavras da pergunta com o texto dos documentos.
  • Alternativa: É possível usar o recurso FULLTEXT do MySQL para buscas em campos grandes (LONGTEXT), mas não substitui a busca vetorial.
  • Melhoria futura: Caso necessário, pode-se integrar futuramente um banco vetorial para busca semântica avançada.

7. Estrutura Sugerida de Tabelas MySQL

sqlCopiarEditarCREATE TABLE documentos (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nome_arquivo VARCHAR(255),
    texto LONGTEXT,
    data_upload DATETIME,
    usuario VARCHAR(100)
);

CREATE TABLE interacoes (
    id INT AUTO_INCREMENT PRIMARY KEY,
    id_documento INT,
    pergunta TEXT,
    resposta TEXT,
    foi_fallback BOOLEAN,
    data DATETIME,
    FOREIGN KEY (id_documento) REFERENCES documentos(id)
);

CREATE TABLE feedback (
    id INT AUTO_INCREMENT PRIMARY KEY,
    id_interacao INT,
    avaliacao ENUM('boa','ruim'),
    comentario TEXT,
    data DATETIME,
    FOREIGN KEY (id_interacao) REFERENCES interacoes(id)
);

8. Resumo dos Frameworks e Bibliotecas

Framework/BibliotecaFunção
Python 3.9+Linguagem principal
MySQLBanco relacional, principal repositório
mysql-connector-pythonConexão Python-MySQL
pdfminer.sixLer PDF
python-docxLer Word
OpenAI (API)ChatGPT (fallback)
UnstructuredLer múltiplos formatos (opcional)
Streamlit/Flask (opcional)Interface web

9. Metodologias

  • Busca textual clássica (FULLTEXT/LIKE)
  • Fallback Inteligente
  • Aprendizagem Contínua (feedback)
  • Automação de ingestão de dados

10. Considerações Finais

O projeto propõe uma solução prática, fácil de gerenciar e com requisitos tecnológicos acessíveis, usando o MySQL como núcleo do sistema. Garante automatização da base de conhecimento, integração com IA de ponta (ChatGPT), avaliação do usuário e flexibilidade para futuras expansões.


DOCTO
Diário de Bordo – 16/02/2025

Correções no firmware do PH

  • Implementação do controle de FinalizaCOMANDO em todos os comandos
  • Ajuste e aplicação no comando MAN
  • Ajuste e aplicação MoverEsquerda

Hardware Modulo 2

  • Isolação de fios com temo retrátil

Operador Windows

  • Implementação tela de receitas, (COMANDOS de TRANSPORTE)

Firmware Transporte

  • Correção em funções EnviaParaSerial2 e Le_Serial2

Print Screen

Comandos de Transporte

Implementação Comandos de Módulos

Desta forma as receitas podem ser facilmente gerenciadas.

ETIQUETAS
Gerando Chave PIX no Etiqueta

Agora é possível imprimir Chave PIX no programa Etiqueta.

O Software Etiqueta permite gerar chave PIX para ser impresso.

Esta novidade permitirá aos pequenos empreendedores maior facilidade em suas vendas.

Para isso é necessário ter a versão 1.9 ou superior.

Selecionando a aba PRINTER, e em seguida clicar na imagem do PIX.

O programa vem com meu PIX, caso queira fazer uma doação. Porem para mudar, basta digitar o String do PIX no campo String BARCODE, colando lá.

Após isso, o QRCODE será modificado, permitindo que você imprima sua chave PIX.

Atenção: Tenha certeza de ter mudado a chave, pois caso contrário será criado erroneamente uma chave pix para minha conta. E doações não serão devolvidas.

O Sistema não salva a chave, toda vez que for gerar, será necessário modificar a mesma.

DOCTO
Doctor – Mudança 02/02/2025

No dia de hoje, foram feitas as seguintes mudanças:

Transporte_firmware.ino

  1. Foi criado o flgComando, que permite identificar inicio e termino de comandos , mesmo sendo assíncronos.
  2. Inclusão do parâmetro desativaMotores no Setup, para que não force os servomotores do braço quando este não estiver em uso.
  3. Mudança da posição do servo 4 do braço (garra) para que fique em uma posição onde é o fechamento da garra.
  4. Mudança do controle “Servo N movido para posição:” para “BRACO:N=”, essa mudança irá facilitar a captura do gerenciador

Gerenciador

  1. Mudança das conexões de Serial para TCP, usando os protocolos e serviços criandos em dias anteriores.
  2. Criação do toolprinter
  3. Ajuste do protocolo TIMP para receber o formulário ao inves da porta tcp.

ETIQUETAS
Etiqueta 1.8

Nesta versão foi modificado:

  1. Incluído o rótulo da impressão com e sem código de barras.
  2. Criação da pasta c:\db\ contendo o banco padrão.
  3. Etiqueta de gondolas todas mostram preview
  4. Limpeza de base padrão
  5. Em frmMain, iniciar aba em sobre sempre ao criar formulário
  6. Em tela de MalaDireta , adicionar Wizzard como padrao ao criar formulário
  7. Em tela de Ticket , iniciar sempre na aba Search Product
  8. Inclusão de endereço de remetente na aba configuração
  9. Criação da tabela selendereco
  10. Mudança de nome dos arquivos gondola para product.
  11. Correção dos arquivos de CSV para model e test (address, product)
  12. Melhoria na apresentação do CSV
  13. Impressão de etiqueta de endereço

C/C++ srvOuve
Reconhecimento de Voz ONLINE no srvOuve
Reconhecimento de voz usando o srvOuve, permite ouvir o que se diz.

O srvOuve, é um projeto de minha autoria, que permite criar aplicação de Voz para Texto. Neste projeto, iremos utilizar várias abordagens diferentes, para criar uma aplicação para atender essa finalidade.

Neste primeiro projeto finalizado, criamos um serviço de voz para texto que precisa ser online.

GITHUB

https://github.com/marcelomaurin/srvOuve

Vantagem

O projeto srvOuve, permite utilizar diversos serviços diferentes, ouvindo tanto online como offline, unificando assim a forma de obter esses serviços em um único canal.

Permitindo criar integrações mais ageis.

No exemplo do vídeo usamos o MNote como ferramenta de integração. Onde ele recebe o texto “escutado” pelo srvOuve e repassa ao CHATGPT, permitindo assim que esse responda, e depois convertendo em texto de voz, através do srvFalar, outro projeto de minha autoria.

MNote2 srvFalar
MNote 2.32

Fechamos a versão 2.31 e demos inicio a versão 2.32.

Na versão 2.31 foram feitos as seguintes mudanças:

  • Melhora no tratamento das janelas
  • Correções no CHATGPT e uso da API
  • Correções no MQUERY para Windows
  • Criação de gráficos a partir dos datasets de select
  • Exportação para JSON e CSV dos datasets
  • Importação de CSV de dados para Mysql
  • Sintetização de vóz para windows e Linux.
  • Inicio da integração da ferramenta de criação de treinamento de redes neurais
  • srvFalar associado ao projeto MNote

Estas modificações já estão disponíveis em Windows e Linux, e em breve atualizadas na versão ARM.

Sintetização de Voz

Apresentação de melhorias na versão 2.31 usando o chatgpt.

Criação de Gráficos

Criação de gráficos no MNote2

pt_BRPortuguese