Feature/hitl#3
Merged
Merged
Conversation
…estes - Planner retorna um JSON com decisão e pergunta - Agora o schema sempre passa pelo Planner para que ele avalie se a pergunta é clara, ou não antes de chamar o code_agent - Na main, ao invés de usarmos um simples Invoke, adicionei memória para que a pergunta do usuário seja feita fora do Grafo, desse modo podemos adicionar mais interações posteriormente - Caso a pergunta seja absurda/não esta clara, o grafo é interrompido e é adicionada uma pergunta do agente ao estado, abrindo espaço para um input do usuário - Mudei os testes para que estivessem coerentes com essa nova estrutura, adicionei um teste novo e re-rodei os testes em vcr para capturar as mudanças do Planner
…o schema, agora ele consegue captar um contexto razóavel da base de dados e ajuda na avaliação crítica
Resolve conflitos mantendo HITL, incorpora métricas de latência e tokens, e padroniza o planejador para manter consistência do estado para tomadas de decisões que não envolvem chamadas de LLMs => retorna 0 tokens gastos
Mudei a lógica do HITL para, ao invés de concatenar respostas, prover um hsitórico de conversa tanto para o planner quanto para o code_agent
Agora que possuimos histórico de conversa, dei acesso dele ao critic e possibilitei a seleção de openai ou google na hr de usar o modelo de API
O sistema agora suporta a desativação do HITL via linha de comando
- Introduz flag `--hitl {on,off}` via `argparse` (default: on).
- Altera `executar_consulta` para respeitar o estado de `hitl_ativado`.
- Registra `erro_execucao` e salva as métricas em CSV mesmo no encerramento por bloqueio.
- Exibe o estado atual do HITL no início da execução da main.
- Atualiza `DESENVOLVIMENTO.md` com tutorial e cenários de uso da flag.
- Adiciona `.gitattributes` para forçar padronização de quebra de linha (LF).
Adicionei a classe da biblioteca ainda sem mudar a lógica na main e sem atualizar os testes para ela; Além disso, mudei a lógica do toggle para remover completamente essa opção do planner quando o hitl não esta disponível
…sta natural - Alinha README e ARQUITETURA com o fluxo atual do grafo (7 nós, roteamento revisado e etapa de resposta natural após aprovação do crítico). - Documenta o caminho de Human-in-the-Loop (espera_humana), a interrupção controlada e o comportamento quando o modo HITL está desligado. - Atualiza a semântica do estado compartilhado com campos de conversa, resposta final e telemetria de tokens. - Registra os status operacionais usados em runtime (aguardando_input e bloqueado_hitl). - Corrige o guia de desenvolvimento com validação de import da classe Graph e com a estrutura real de módulos/pastas. - Atualiza o índice técnico do projeto (INDICE.py) com a arquitetura vigente, componentes atuais e métricas/observabilidade. - Sem alteração de lógica de código, apenas documentação
…pública Este commit transforma a base de código em uma biblioteca semântica e oficial, eliminando duplicidades e formalizando contratos de execução, além de preparar o pacote para distribuição. Principais alterações: - Namespace e Empacotamento: Código base movido de `src` para `text_to_insight`. O pyproject.toml foi configurado para varredura do namespace oficial e criação do entrypoint de console `text-to-insight`. - Unificação de Runtime: Lógica antes dividida entre main e InsightEngine foi centralizada em `runtime.py`, que agora cuida do estado, loop do grafo, métricas e controle central de HITL (ligado/desligado/pausado). - Engine e CLI: Criação de uma CLI oficial (`cli.py`) suportando thread-id e db-path. A `InsightEngine` orquestra a execução via runtime (com métodos `run` e `resume`). O arquivo `main.py` virou apenas um adaptador fino da CLI. - API Pública: Congelada no `__init__.py`, expondo apenas as três interfaces essenciais: InsightEngine, Graph e EstadoTextToInsight. - Qualidade e Testes: Imports e assinaturas ajustados. Adição de novos testes de integração da Engine (fim a fim, com e sem HITL). Adição de `test_real_api_smoke.py` com o novo marker `real_api` no pytest.ini para monitoramento de provider/model drift. - Documentação: README.md, DESENVOLVIMENTO.md e ARQUITETURA.md atualizados para refletir a nova estrutura de biblioteca, estratégias de teste, CI híbrida e contratos de HITL.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Novas Funcionalidades:
Arquitetura e Refatoração:
Documentação e Testes: