Skip to content
Merged

Dev #14

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
7624d1d
feat: adicionei nó no grafo para gerar uma resposta para a pergunta d…
Petroncini Mar 30, 2026
d637325
Introdução da medida de métricas básicas: latencia e tokens
caua-sathler Apr 1, 2026
5347d53
Atualizando utils.py
caua-sathler Apr 1, 2026
d918923
feat: Adiciona Human-In-The-Loop (HITL), Agentic Planner e atualiza t…
Fugant1 Apr 2, 2026
ad52134
fix: adicione check se houve resposta antes de calcalcular métricas
Petroncini Apr 3, 2026
84320c1
Merge pull request #1 from gruporaia/feature/metricas
Petroncini Apr 3, 2026
32bb2c5
fix: adicionei ao prompt do planner.py um preview de 500 caracteres d…
LuizCorrei4 Apr 3, 2026
e10f623
feat: adiciona avaliação com Spider Dataset
JonasMelo21 Apr 7, 2026
2ebc52d
Merge remote-tracking branch 'origin/dev' into feature/HITL
LuizCorrei4 Apr 10, 2026
b379919
refactor: Atualiza modelo HITL
Fugant1 Apr 10, 2026
974118d
feat: Adiciona seleção de modelo e contexto pro critic
Fugant1 Apr 10, 2026
bef2d36
docs: move Spider benchmark doc to src/spider/BENCHMARK.md
JonasMelo21 Apr 11, 2026
5445300
Modificações para testar queries individuais e imprimir resultados da…
caua-sathler Apr 14, 2026
e09c667
Modificações em comentários e no gitignore
caua-sathler Apr 14, 2026
6093f05
Merge branch 'feat/metricas-spider' of github.com:gruporaia/TextToIns…
caua-sathler Apr 14, 2026
4b1e8a0
Merge branch 'feature/HITL' of github.com:gruporaia/TextToInsight int…
caua-sathler Apr 15, 2026
79fab43
Merge com a HITL e implementação de comparação de resultados com base…
caua-sathler Apr 15, 2026
cb32e8c
feat(cli): adiciona toggle de HITL com fallback de bloqueio
LuizCorrei4 Apr 20, 2026
8dfa938
refactor: toggle + lib class
Fugant1 Apr 20, 2026
882ca68
docs: atualiza documentação para refletir fluxo real com HITL e respo…
LuizCorrei4 Apr 21, 2026
0a3351a
Refactor: consolida namespace text_to_insight, unifica runtime e API …
LuizCorrei4 Apr 23, 2026
24aa326
benchmark com spider comparando resultados
JonasMelo21 Apr 23, 2026
6ae38e1
Merge feature/HITL into feat/metricas-spider
JonasMelo21 Apr 23, 2026
ec96dc0
testes de API concluídos
calixtojp Apr 24, 2026
d660b31
Merge pull request #3 from gruporaia/feature/HITL
Petroncini Apr 26, 2026
c5c26d1
modifiquei script de avaliação para usar a classe InsightEngine e mod…
Petroncini May 1, 2026
d50dbab
hitl: separar pergunta_original/pergunta_atual e reiniciar fluxo em n…
LuizCorrei4 May 2, 2026
fca3495
breve comentário na função de heuristica de runtime.py
LuizCorrei4 May 2, 2026
30abe5e
Merge branch 'dev' of https://github.com/gruporaia/TextToInsight into…
JonasMelo21 May 2, 2026
09d91e9
passagem de schema inteiro para planner
LuizCorrei4 May 2, 2026
2a5be5c
feat: mostrar resultado da query na saída do terminal
JonasMelo21 May 3, 2026
9abf0d3
feat: adicionei historico de tentativas e feedbacks ao estado do graf…
Petroncini May 6, 2026
88a8886
feat: Adicionei a estrutura inicial do RAG
Fugant1 May 6, 2026
2a08f47
Merge pull request #5 from gruporaia/feat/metricas_spider
Petroncini May 7, 2026
9fbf09d
Merge branch 'dev' into feature/result-dataframe
Petroncini May 7, 2026
2f73809
Merge pull request #4 from gruporaia/feature/result-dataframe
Petroncini May 7, 2026
462453a
fix: adidionei linhas resultado completo no estado do grafo
Petroncini May 7, 2026
83f4b30
feat: versão iniciald e geração de gráfico. Adicionei nó para salvar …
Petroncini May 7, 2026
909c9d5
feature: adicionei o RAG no ChromaDB
Fugant1 May 7, 2026
88c2a16
refactor: RAG only implementado
Fugant1 May 8, 2026
54cdc0d
feat: adicionei o grafo para ser consumido e guardar as relações
Fugant1 May 11, 2026
0e08e69
feat: adicionei um teste simples pro grafo e comecei a engine principal
Fugant1 May 11, 2026
f692bd1
new spider 2.0 eval
Petroncini May 11, 2026
7a9430a
feat: classe da engine principal finalizada e testada
Fugant1 May 11, 2026
00416c2
Merge branch 'feature/RAG-schema' into dev
Fugant1 May 13, 2026
a0714f6
Merge pull request #6 from gruporaia/dev
Fugant1 May 13, 2026
5d1a117
debugs regarding spider 2 eval and time out on qeury execution
Petroncini May 14, 2026
67a27fd
spide2 eval script
Petroncini May 14, 2026
749c28d
Merge feature/spider2-eval into feature/geracao-grafico
Petroncini May 15, 2026
4828800
Bug fixes em métricas, ablacao do F1, grafico e nó do crítico
Petroncini May 16, 2026
20381ef
merge da dev para a branch hotfix para evitar conflitos maiores futur…
LuizCorrei4 May 16, 2026
8d1db3a
Integração do GraphRAG com o grafo principal + correção de bugs antigos
calixtojp May 16, 2026
2f5f0cc
fix: adiciona download do banco via release no CI; fix: adiciona novo…
LuizCorrei4 May 16, 2026
4b927c2
fix: Adicionei um Threshold para ativar o RAG e mudei a lógica de ins…
Fugant1 May 17, 2026
152a210
Added graph generation toggle, default no-graphs for testing
Petroncini May 18, 2026
d71a22b
Merge pull request #7 from gruporaia/hotfix/hitl_lost
Petroncini May 18, 2026
eba5a19
Merge branch 'dev' into feature/geracao-grafico
Petroncini May 18, 2026
97895b4
fix:
LuizCorrei4 May 19, 2026
a08b508
fix(tests): make FakeGraph accept enable_graphs using **kwargs; add /…
LuizCorrei4 May 19, 2026
92359b7
Merge pull request #8 from gruporaia/feature/geracao-grafico
Petroncini May 20, 2026
57cdc28
Adiciona testes de integração e de nós para geração de gráficos e atu…
LuizCorrei4 May 20, 2026
7402eb9
fix/Resolvi o problema do RAG, estava indexando de forma errada
Fugant1 May 20, 2026
882b96f
Merge branch 'feature/RAG-schema' into dev
Fugant1 May 20, 2026
216379a
Merge pull request #9 from gruporaia/dev
Fugant1 May 20, 2026
19e73eb
feat/Adicionei o enriquecimento de Schema
Fugant1 May 20, 2026
d500059
- chore(tests): grava cassetes VCR para gpt-4o-mini e gemini-2.5-flash
LuizCorrei4 May 22, 2026
0ec5261
add networkx as a project dependency
LuizCorrei4 May 22, 2026
fa44b0c
fix: erro de sintaxe das dependências do pyproject
LuizCorrei4 May 22, 2026
78da14e
add ',' no fim das dependencias do pyproject
LuizCorrei4 May 22, 2026
6b292b6
Merge remote-tracking branch 'origin/dev' into feature/geracao-grafico
LuizCorrei4 May 22, 2026
af896f3
fix: update test do nó retriever para esperar o campo de contexto_rag…
LuizCorrei4 May 22, 2026
7269e32
feat: Adicionei um toggle para o enriquecimento
Fugant1 May 25, 2026
3b585d9
Merge pull request #10 from gruporaia/feature/geracao-grafico
Petroncini May 26, 2026
3109068
feat: Adicionei Steiner Tree, reformulei os testes
Fugant1 May 27, 2026
fc4e5c1
removed critic
Petroncini May 27, 2026
d704cd7
toml
Petroncini May 27, 2026
e9c3793
added CoT
Petroncini May 27, 2026
4a0f2b6
feat: integra SchemaCrawler para extração de metadados do banco
LuizCorrei4 Jun 1, 2026
a8be6de
feat(eval): atualizar scripts de avaliação Spider e Spider 2.0 Lite
Petroncini Jun 4, 2026
5541daa
m
Petroncini Jun 4, 2026
b8c7b6a
feat(eval): carregar external_knowledge do Spider 2.0 Lite como conte…
Petroncini Jun 4, 2026
9932a1e
Merge pull request #11 from gruporaia/hotfix/spider_eval
Petroncini Jun 4, 2026
636cc7c
feat: adicionar FKs virtuais robustas, RAG Adaptativo, injeção de con…
LuizCorrei4 Jun 5, 2026
83e7c7e
Merge branch 'dev' into feature/RAG-schema
Fugant1 Jun 6, 2026
723c7d1
test: consolidar testes e regenerar VCR cassettes
LuizCorrei4 Jun 6, 2026
ca99522
test: regenerar cassettes do OpenAI (gpt-4o-mini) que falharam no CI
LuizCorrei4 Jun 6, 2026
9ad2cc7
Merge pull request #12 from gruporaia/feature/RAG-schema
Petroncini Jun 6, 2026
a515413
Merge remote-tracking branch 'origin/dev' into feature/data_exploration
Petroncini Jun 6, 2026
2501d19
Remove critic node and associated routing
Petroncini Jun 6, 2026
18612ab
merged dev
Petroncini Jun 8, 2026
557a183
data exploration node
Petroncini Jun 8, 2026
4becfcc
fix: update tests and pin aiohttp
Petroncini Jun 8, 2026
04cd0ea
chore: pull updated test_biblioteca_integracao from dev
Petroncini Jun 8, 2026
0827b49
fix: resolve broken CI tests due to removed critic node
Petroncini Jun 8, 2026
e0d9986
fix: resolve broken CI tests due to removed critic node
Petroncini Jun 8, 2026
a879ebe
Merge pull request #13 from gruporaia/feature/data_exploration
Fugant1 Jun 9, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* text=auto eol=lf
165 changes: 165 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,165 @@
name: CI

on:
pull_request:
push:
branches: [main, dev]
workflow_dispatch:
schedule:
- cron: "0 3 * * *"

jobs:
tests-vcr:
name: Tests (VCR deterministic) - ${{ matrix.provider }} / ${{ matrix.model }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- provider: openai
model: gpt-4o-mini
- provider: google
model: gemini-2.5-flash
env:
TEXT_TO_INSIGHT_TEST_PROVIDER: ${{ matrix.provider }}
TEXT_TO_INSIGHT_TEST_MODEL: ${{ matrix.model }}
OPENAI_API_KEY: ${{ matrix.provider == 'openai' && 'dummy-key' || '' }}
GOOGLE_API_KEY: ${{ matrix.provider == 'google' && 'dummy-key' || '' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt && pip install -e .
- name: Download test database
run: |
mkdir -p data
gh release download dados-teste -p "olist_relational.db" -D data/
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Run deterministic tests
run: |
pytest tests/test_componentes.py tests/test_nodes.py \
tests/test_integracao.py tests/test_main_engine_integracao.py \
-v -s --record-mode=none -m "not real_api"

record-vcr-cassettes:
name: Record VCR cassettes - ${{ matrix.provider }} / ${{ matrix.model }}
runs-on: ubuntu-latest
if: github.event_name == 'workflow_dispatch'
strategy:
fail-fast: false
matrix:
include:
- provider: openai
model: gpt-4o-mini
- provider: google
model: gemini-2.5-flash
env:
TEXT_TO_INSIGHT_TEST_PROVIDER: ${{ matrix.provider }}
TEXT_TO_INSIGHT_TEST_MODEL: ${{ matrix.model }}
OPENAI_API_KEY: ${{ matrix.provider == 'openai' && secrets.OPENAI_API_KEY || '' }}
GOOGLE_API_KEY: ${{ matrix.provider == 'google' && secrets.GOOGLE_API_KEY || '' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt && pip install -e .

# Mesmo setup de banco dos outros jobs
- name: Download test database
run: |
mkdir -p data
gh release download dados-teste -p "olist_relational.db" -D data/
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# Verificação no nível do step com saída que controla os próximos
- name: Check API key availability
id: check_key
run: |
if [[ "${{ matrix.provider }}" == "openai" && -z "${OPENAI_API_KEY}" ]]; then
echo "available=false" >> $GITHUB_OUTPUT
echo "⚠️ OPENAI_API_KEY ausente; pulando gravação."
elif [[ "${{ matrix.provider }}" == "google" && -z "${GOOGLE_API_KEY}" ]]; then
echo "available=false" >> $GITHUB_OUTPUT
echo "⚠️ GOOGLE_API_KEY ausente; pulando gravação."
else
echo "available=true" >> $GITHUB_OUTPUT
fi

- name: Record or update VCR cassettes
if: steps.check_key.outputs.available == 'true' # só roda se tiver key
run: |
pytest tests/test_nodes.py tests/test_integracao.py \
-v -s --record-mode=rewrite -m "not real_api"

# Commita os cassettes de volta no repo
- name: Commit updated cassettes
if: steps.check_key.outputs.available == 'true'
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git add tests/cassettes
git diff --cached --quiet || git commit -m "chore: update VCR cassettes [${{ matrix.provider }}/${{ matrix.model }}]"
git push

tests-real-api:
name: Tests (real API) - ${{ matrix.provider }} / ${{ matrix.model }}
runs-on: ubuntu-latest
needs: tests-vcr
if: github.event_name == 'workflow_dispatch' || github.event_name == 'schedule'
strategy:
fail-fast: false
matrix:
include:
- provider: openai
model: gpt-4o-mini
- provider: google
model: gemini-2.5-flash
env:
TEXT_TO_INSIGHT_TEST_PROVIDER: ${{ matrix.provider }}
TEXT_TO_INSIGHT_TEST_MODEL: ${{ matrix.model }}
OPENAI_API_KEY: ${{ matrix.provider == 'openai' && secrets.OPENAI_API_KEY || '' }}
GOOGLE_API_KEY: ${{ matrix.provider == 'google' && secrets.GOOGLE_API_KEY || '' }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt && pip install -e .

# ✅ Banco de dados presente aqui também
- name: Download test database
run: |
mkdir -p data
gh release download dados-teste -p "olist_relational.db" -D data/
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Check API key availability
id: check_key
run: |
if [[ "${{ matrix.provider }}" == "openai" && -z "${OPENAI_API_KEY}" ]]; then
echo "available=false" >> $GITHUB_OUTPUT
echo "⚠️ OPENAI_API_KEY ausente; pulando smoke test."
elif [[ "${{ matrix.provider }}" == "google" && -z "${GOOGLE_API_KEY}" ]]; then
echo "available=false" >> $GITHUB_OUTPUT
echo "⚠️ GOOGLE_API_KEY ausente; pulando smoke test."
else
echo "available=true" >> $GITHUB_OUTPUT
fi

- name: Run real API smoke tests
if: steps.check_key.outputs.available == 'true' # ✅ condição correta
run: pytest tests/test_real_api_smoke.py -v -s -m real_api
15 changes: 14 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,8 @@ coverage.xml
*.py,cover
.hypothesis/
.pytest_cache/
results/
graphs/

# Translations
*.mo
Expand Down Expand Up @@ -139,7 +141,18 @@ Thumbs.db
config_local.py

# data
results/
data/
chroma_db/
.schema_hash
spider2-lite
Spider2/

# testes
/meus_testes/*
/meus_testes/*

# reports testes spider
/reports/

# commit.txt (arquivo temporário usado para textos de commit personalizados)
commit.txt
Loading
Loading