Commit Graph

79 Commits (feat/self-evolving-tools-foundation)

Author SHA1 Message Date
Vitor Hugo Belorio Simão 8cf79174ee 🧠 feat(orquestrador): deixar o modelo decidir o turno e limitar regex a formalizacao tecnica
Introduz o contrato TurnDecision e a extracao estruturada por turno no planner para que intent, domain, action, selecao e resposta venham do modelo, com validacao Pydantic e fallback previsivel quando o JSON vier invalido.

Tambem extrai a normalizacao tecnica para um modulo dedicado e passa a usar regex apenas para formalizar CPF, placa, protocolos, datas e outros formatos estruturados, reduzindo heuristicas semanticas dentro do normalizador, da policy e dos fluxos de revisao.
1 month ago
Vitor Hugo Belorio Simão d27ebf798d 📝 docs(services): documentar responsabilidades internas do orquestrador
Adiciona comentarios objetivos nos servicos e componentes centrais para deixar explicitas as responsabilidades de integracao com LLM, estado conversacional, factories, registries e helpers de usuario.

A mudanca e apenas documental e segue a linha do projeto de explicar a arquitetura no proprio codigo sem alterar o comportamento em runtime.
1 month ago
Vitor Hugo Belorio Simão 134a5fef41 🚗 feat(sales): vincular pedido ao veiculo selecionado e endurecer fluxos conversacionais
Passa a criar pedidos de compra a partir de um veiculo concreto do estoque selecionado na conversa, reaproveitando a ultima consulta e exibindo o modelo escolhido na resposta final.

Tambem endurece a orquestracao contra vazamento de contexto entre compra, cancelamento e revisao, preserva o estado necessario no fluxo e adiciona testes de regressao para os cenarios validados no Telegram.
1 month ago
Vitor Hugo Belorio Simão 9316e3e495 feat(orchestration): adicionar infraestrutura de estado conversacional com Redis
Introduz a abstracao de repositorio de estado conversacional e a implementacao com Redis para suportar persistencia entre reinicios e execucao em multiplas instancias.

Tambem adiciona configuracoes de ambiente, dependencias e suporte local via Docker Compose para alternar entre backend em memoria e Redis de forma explicita.
1 month ago
Vitor Hugo Belorio Simão 6537808963 🐛 fix(flows): endurecer validacao e preservar drafts
Impede que consultas de estoque caiam no fluxo de compra, evita reaproveitamento implícito de CPF para criar pedidos e mantém drafts quando a execução da tool falha.

Também preserva corretamente o estado de revisão, limpando o draft apenas quando a operação conclui com sucesso ou quando a confirmação pendente passa a ser o estado principal.
1 month ago
Vitor Hugo Belorio Simão 14778fac0b ♻️ refactor(orchestration): extrair componentes do orquestrador
Move a normalização, o planejamento de mensagens, a política conversacional e a execução de tools para módulos dedicados.

Reduz o acoplamento do OrquestradorService e prepara a base para evoluções futuras com menos risco de regressão.
1 month ago
Vitor Hugo Belorio Simão 57dc824242 🧠 feat(orquestrador): ampliar controle conversacional e hidratar cliente mock por CPF
- adiciona tools de orquestracao para limpar contexto, descartar fila, cancelar fluxo e continuar pedidos pendentes
- prioriza a decisao do LLM para comandos globais antes dos slot fillings ativos
- melhora selecao entre pedidos concorrentes e resposta deterministica das tools de orquestracao
- estrutura conflitos de horario de revisao para facilitar confirmacao posterior
- reaproveita CPF da memoria/perfil do usuario no fluxo de compra
- cria servico mock para hidratar customer e vincular users.cpf ao informar um CPF valido
1 month ago
Vitor Hugo Belorio Simão a412f9c674 🧹 cleanup(services): reorganiza estrutura interna em subpastas por responsabilidade
Redistribui os arquivos de app/services em modulos mais claros, separando orchestration, flows, ai, tools e user sem alterar a logica de negocio ou o comportamento funcional do sistema.

Ajusta os imports afetados em rotas, startup da aplicacao e integracao com Telegram para refletir a nova organizacao interna e manter o fluxo atual intacto.

Objetivos da limpeza:

- reduzir a sensacao de pasta deposito em app/services

- tornar o papel de cada modulo mais explicito

- melhorar manutencao e navegacao do projeto

- preparar o codigo para crescimento futuro com menor acoplamento estrutural
1 month ago
Vitor Hugo Belorio Simão a6f1358c28 🧠 feat(orquestrador): fortalecer contexto multiassunto e gestão de revisão
- unifica plano de mensagem via LLM (roteamento + entidades por pedido)
- adiciona fallback de extração separada apenas quando o plano vier sem dados úteis
- reduz reprocessamento no mesmo turno com fila explícita e avanço por 'continuar'
- melhora UX de fila com aviso determinístico de pedidos enfileirados
- amplia intents de revisão: listagem, cancelamento e remarcação
- adiciona campos dedicados para gestão de revisão (protocolo, nova_data_hora, motivo)
- implementa slot filling para cancelar/remarcar revisão com prompts de faltantes
- reforça regras de troca de contexto quando há fluxo de revisão aberto
- adiciona memória curta do último pacote de revisão com TTL (20 min)
- implementa confirmação de reuso de pacote para novo agendamento
- quando reuso confirmado, coleta apenas data/hora e mantém demais dados
- preserva arquitetura: LLM decide e extrai; sistema normaliza, valida, mantém estado e executa tools

 Benefícios:
- maior robustez em cenários ambíguos de revisão
- melhor continuidade entre assuntos sem perder contexto
- menor atrito no reagendamento de revisões semelhantes
1 month ago
Vitor Hugo Belorio Simão 3bc23e63d1 perf(llm): reduzir latência com warmup, cache e execução não bloqueante
- inicializa Vertex AI uma única vez por processo
- adiciona cache de modelos GenerativeModel por nome
- adiciona cache da conversão de tools para formato Vertex
- executa send_message em asyncio.to_thread para não bloquear o loop async
- adiciona método warmup no LLMService (best effort)
- executa warmup no startup da API FastAPI
- executa warmup no startup do Telegram Satellite

🎯 Resultado esperado:
- menor latência no primeiro request (cold start)
- menor overhead por requisição subsequente
- melhor throughput em cenários concorrentes
1 month ago
Vitor Hugo Belorio Simão e79be95264 ♻️ refactor(orquestrador): migrar decisoes para LLM e isolar memoria por assunto
- centraliza configuracoes do orquestrador em orchestrator_config.py (TTLs, campos obrigatorios, respostas deterministicas e low-value)

- migra extracao de entidades e intents para o modelo, mantendo no codigo apenas normalizacao/validacao e execucao

- troca heuristicas locais de intencao/roteamento por contratos de intents e roteamento multiassunto via LLM

- melhora observabilidade da extracao com logs para payload vazio/invalido e falhas do extrator

- corrige continuidade de contexto no slot-filling de revisao e normaliza datas relativas (hoje/amanha)

- adiciona fluxos incrementais para criar/cancelar pedido e integra com fila de assuntos

- implementa memoria compartilhada + memoria de trabalho por assunto (estilo nova aba) para reduzir contaminacao entre contextos
1 month ago
Vitor Hugo Belorio Simão 29faec5464 ♻️ refactor(orquestrador): consolidar contexto multiassunto com continuidade automática
- evita interromper fluxo ativo ao receber mensagem com dois assuntos

- enfileira assuntos secundarios e avanca automaticamente apos concluir o atual

- remove metodos legados sem uso no orquestrador (roteamento antigo por regex)

- remove metodo sem uso em UserRepository para reduzir codigo morto
1 month ago
Vitor Hugo Belorio Simão af513f5583 🐛 fix(orquestrador): interromper cadastro de revisao ao trocar de intencao 1 month ago
Vitor Hugo Belorio Simão f09081150f feat(review-api): adicionar fluxos de listar, cancelar e remarcar revisao 1 month ago
Vitor Hugo Belorio Simão 63040d472c feat: aprimora fluxo de agendamento de revisao com memoria de contexto, validacao de conflitos e sugestao inteligente de horarios
- adiciona coleta incremental de dados (slot filling) por usuario para placa, data/hora, modelo, ano, km e historico de revisao, evitando perda de contexto entre mensagens
- implementa extracao auxiliar por regex para interpretar respostas curtas e completar o payload de revisao sem depender totalmente do modelo
- passa a bloquear conflito global de agenda no mesmo horario (independente de usuario/veiculo) e sugerir proximo horario disponivel
- adiciona confirmacao de sugestao pendente (ex.: "pode") e remarca??o quando o cliente recusa o horario sugerido (incluindo casos com apenas novo horario)
- amplia a tool de agendar revisao com novos campos obrigatorios e calculo de valor estimado da revisao com base em modelo, ano, km e fidelidade de revisoes anteriores
- atualiza schemas e rota mock para refletir o novo contrato de agendamento
- endurece o satelite do Telegram com prevencao de instancia duplicada e descarte de backlog no startup para reduzir respostas repetidas
1 month ago
Vitor Hugo Belorio Simão 5a5d7f547e feat(users): vincular operacoes ao usuario com user_id e ownership 1 month ago
Vitor Hugo Belorio Simão 31916bacc3 🐛 fix(telegram): tratar erros de dominio e melhorar respostas operacionais 1 month ago
Vitor Hugo Belorio Simão e6ce076785 📝 docs(comments): documentar fluxos, rotas e configuracoes do servico 1 month ago
Vitor Hugo Belorio Simão 53ff0d6049 refactor: migrando dados ficticios da FakerAPI para MySQL 2 months ago
Vitor Hugo Belorio Simão e68b32a177 ♻️ refactor: Migrando a integração de dados fictícios para FakerAPI e ajustando a chamada das tools no Vertex AI. 2 months ago
Vitor Hugo Belorio Simão 37fa127a80 ♻️ refactory: Ajustando o código para o deploy (remoção provisória do user_id para testes). 2 months ago
Vitor Hugo Belorio Simão 7da23293a4 feat: Adicionando o serviço mockaroo para testar a chamada de serviços externos e uma simulação de um banco de dados externo. 2 months ago
Vitor Hugo Belorio Simão a271522eac ♻️ refactor: Adaptando a lógica para buscar e os dados das tools no banco de dados e passar para o modelo. 2 months ago
Vitor Hugo Belorio Simão 043941c7ad ♻️ refactor: Atualizando a lógica de retorno das tools e criando a seed para popular o banco de dados. 2 months ago
Vitor Hugo Belorio Simão 3f94ffe2e1 feat: Adicionando os endpoints de acesso as Tools e movendo o acesso para o banco de dados. 2 months ago
Vitor Hugo Belorio Simão 43ce4a6093 ♻️ refactor: Reogranizando e ajustando o orquestrador do sistema. Também suas funcionalidades foram comentadas para futuras manutenções. 2 months ago
Vitor Hugo Belorio Simão 49356c0e5b 💡 docs: Inserindo comentários referente as principais funcionalidades relacionadas as Tools e ao LLMService. 2 months ago
Vitor Hugo Belorio Simão 68fbdb605c feat: Desenvolvendo os serviços relacionados a acessar o Vertex AI, se comunicar com o modelo, registrar as Tools do sistema e gerenciar as mesmas conforme a solicitação do modelo. 2 months ago
Vitor Hugo Belorio Simão 9e574b1e25 🚧 Desenvolvendo a estrutura inicial do envio de mensagem. Endpoint POST com a mensagem e o ID do usuário. 2 months ago