vectorgov-cli 0.2.3__tar.gz → 0.2.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/.gitignore +3 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/PKG-INFO +15 -16
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/README.md +14 -15
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/pyproject.toml +1 -1
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/__init__.py +1 -1
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/fs_search.py +2 -2
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/hybrid.py +3 -3
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/merged.py +1 -1
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/search.py +1 -1
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/main.py +17 -1
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/__init__.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/ask.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/audit.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/auth.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/config.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/context.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/docs.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/explain.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/feedback.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/grep_cmd.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/init.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/lookup.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/prompts.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/quota.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/read.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/smart_search.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/commands/tokens.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/utils/__init__.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/utils/config.py +0 -0
- {vectorgov_cli-0.2.3 → vectorgov_cli-0.2.5}/src/vectorgov/cli/utils/output.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: vectorgov-cli
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.5
|
|
4
4
|
Summary: CLI para a API VectorGov - Busca semântica em legislação brasileira
|
|
5
5
|
Project-URL: Homepage, https://vectorgov.io
|
|
6
6
|
Project-URL: Documentation, https://vectorgov.io/documentacao
|
|
@@ -138,11 +138,11 @@ vectorgov search --raw "dispensa de licitação" | jq -r '.hits[] | "- \(.docume
|
|
|
138
138
|
| `search` | Busca semântica em legislação (filtros: `--tipo`, `--ano`, `--doc`) |
|
|
139
139
|
| `ask` | Contexto para LLMs (busca + system prompt) |
|
|
140
140
|
| `smart-search` | Busca inteligente MOC v4 com análise de confiança |
|
|
141
|
-
| `hybrid` | Busca semântica + expansão por grafo normativo
|
|
141
|
+
| `hybrid` | Busca semântica + expansão por grafo normativo |
|
|
142
142
|
| `lookup` | Consulta de artigo específico por referência legal |
|
|
143
143
|
| `grep` | Busca exata por texto no corpo das normas |
|
|
144
144
|
| `merged` | Busca dual-path: semântica + índice curado (RRF) |
|
|
145
|
-
| `fs-search` | Busca no índice curado
|
|
145
|
+
| `fs-search` | Busca no índice curado — texto exato |
|
|
146
146
|
| `read` | Lê texto canônico de documento/dispositivo |
|
|
147
147
|
| `explain` | Contexto completo de um dispositivo (lookup + texto consolidado) |
|
|
148
148
|
| `context` | Bloco completo (busca + prompt) pronto para LLMs |
|
|
@@ -325,8 +325,8 @@ vectorgov smart-search "pesquisa de preços" --cache
|
|
|
325
325
|
|
|
326
326
|
### Hybrid
|
|
327
327
|
|
|
328
|
-
Busca semântica enriquecida com expansão por grafo normativo
|
|
329
|
-
evidências diretas
|
|
328
|
+
Busca semântica enriquecida com expansão por grafo normativo. Retorna
|
|
329
|
+
evidências diretas + artigos citados (expansão via grafo).
|
|
330
330
|
|
|
331
331
|
```bash
|
|
332
332
|
# Busca híbrida
|
|
@@ -380,7 +380,7 @@ referência (ex: `"Art. 75 da Lei 14.133"` em vez de `"Art. 75" --doc ...`).
|
|
|
380
380
|
|
|
381
381
|
### Grep
|
|
382
382
|
|
|
383
|
-
Busca exata por texto no corpo das normas
|
|
383
|
+
Busca exata por texto no corpo das normas. Diferente do `search` (semântico), o `grep` procura ocorrências literais.
|
|
384
384
|
|
|
385
385
|
```bash
|
|
386
386
|
# Busca textual exata
|
|
@@ -403,7 +403,7 @@ vectorgov grep "art. 75" --doc LEI-14133-2021 --max 3
|
|
|
403
403
|
|
|
404
404
|
### Merged
|
|
405
405
|
|
|
406
|
-
Busca dual-path combinando semântica
|
|
406
|
+
Busca dual-path combinando busca semântica + índice curado
|
|
407
407
|
com Reciprocal Rank Fusion (RRF).
|
|
408
408
|
|
|
409
409
|
```bash
|
|
@@ -415,16 +415,16 @@ vectorgov merged "Pesquisa de preços" --top-k 15
|
|
|
415
415
|
vectorgov merged "art. 75" --doc LEI-14133-2021
|
|
416
416
|
|
|
417
417
|
# Controle granular de backends (v0.2.1)
|
|
418
|
-
vectorgov merged "dispensa" --no-filesystem # apenas
|
|
419
|
-
vectorgov merged "licitação" --no-hybrid # apenas
|
|
418
|
+
vectorgov merged "dispensa" --no-filesystem # apenas busca semântica
|
|
419
|
+
vectorgov merged "licitação" --no-hybrid # apenas índice curado
|
|
420
420
|
```
|
|
421
421
|
|
|
422
422
|
**Opções**:
|
|
423
423
|
- `--top-k/-k` (1-50, padrão: 10) — quantidade de resultados
|
|
424
424
|
- `--doc/-d` — filtrar por documento específico
|
|
425
425
|
- `--token-budget` — limite de tokens para contexto
|
|
426
|
-
- `--no-hybrid` — desabilita
|
|
427
|
-
- `--no-filesystem` — desabilita índice curado (usa só
|
|
426
|
+
- `--no-hybrid` — desabilita busca semântica (usa só índice curado)
|
|
427
|
+
- `--no-filesystem` — desabilita índice curado (usa só busca semântica)
|
|
428
428
|
- `--output/-o` (table/json/text)
|
|
429
429
|
- `--raw` — inclui `mutual_count`, `hybrid_count`, `filesystem_count` no output
|
|
430
430
|
|
|
@@ -455,7 +455,7 @@ quando já souber o `document_id` e `span_id` exatos (ex: após um `lookup`).
|
|
|
455
455
|
|
|
456
456
|
### Fs-search
|
|
457
457
|
|
|
458
|
-
Busca no índice curado
|
|
458
|
+
Busca no índice curado — alternativa ao `search` vetorial.
|
|
459
459
|
Ideal para termos exatos e referências legais precisas (v0.2.0).
|
|
460
460
|
|
|
461
461
|
```bash
|
|
@@ -464,9 +464,9 @@ vectorgov fs-search "art. 75 da Lei 14.133"
|
|
|
464
464
|
vectorgov fs-search "pregão eletrônico"
|
|
465
465
|
|
|
466
466
|
# Modo específico
|
|
467
|
-
vectorgov fs-search "dispensa" --mode index # só
|
|
468
|
-
vectorgov fs-search "art. 75" --mode grep # só
|
|
469
|
-
vectorgov fs-search "ETP" --mode both #
|
|
467
|
+
vectorgov fs-search "dispensa" --mode index # só busca indexada
|
|
468
|
+
vectorgov fs-search "art. 75" --mode grep # só busca textual
|
|
469
|
+
vectorgov fs-search "ETP" --mode both # índice + textual combinados
|
|
470
470
|
|
|
471
471
|
# Filtrar por documento
|
|
472
472
|
vectorgov fs-search "art. 75" --doc LEI-14133-2021 --output json
|
|
@@ -715,4 +715,3 @@ vectorgov ask --help
|
|
|
715
715
|
- [Documentação](https://vectorgov.io/documentacao)
|
|
716
716
|
- [Playground](https://vectorgov.io/playground)
|
|
717
717
|
- [SDK Python](https://pypi.org/project/vectorgov/)
|
|
718
|
-
- [SDK TypeScript](https://www.npmjs.com/package/vectorgov)
|
|
@@ -85,11 +85,11 @@ vectorgov search --raw "dispensa de licitação" | jq -r '.hits[] | "- \(.docume
|
|
|
85
85
|
| `search` | Busca semântica em legislação (filtros: `--tipo`, `--ano`, `--doc`) |
|
|
86
86
|
| `ask` | Contexto para LLMs (busca + system prompt) |
|
|
87
87
|
| `smart-search` | Busca inteligente MOC v4 com análise de confiança |
|
|
88
|
-
| `hybrid` | Busca semântica + expansão por grafo normativo
|
|
88
|
+
| `hybrid` | Busca semântica + expansão por grafo normativo |
|
|
89
89
|
| `lookup` | Consulta de artigo específico por referência legal |
|
|
90
90
|
| `grep` | Busca exata por texto no corpo das normas |
|
|
91
91
|
| `merged` | Busca dual-path: semântica + índice curado (RRF) |
|
|
92
|
-
| `fs-search` | Busca no índice curado
|
|
92
|
+
| `fs-search` | Busca no índice curado — texto exato |
|
|
93
93
|
| `read` | Lê texto canônico de documento/dispositivo |
|
|
94
94
|
| `explain` | Contexto completo de um dispositivo (lookup + texto consolidado) |
|
|
95
95
|
| `context` | Bloco completo (busca + prompt) pronto para LLMs |
|
|
@@ -272,8 +272,8 @@ vectorgov smart-search "pesquisa de preços" --cache
|
|
|
272
272
|
|
|
273
273
|
### Hybrid
|
|
274
274
|
|
|
275
|
-
Busca semântica enriquecida com expansão por grafo normativo
|
|
276
|
-
evidências diretas
|
|
275
|
+
Busca semântica enriquecida com expansão por grafo normativo. Retorna
|
|
276
|
+
evidências diretas + artigos citados (expansão via grafo).
|
|
277
277
|
|
|
278
278
|
```bash
|
|
279
279
|
# Busca híbrida
|
|
@@ -327,7 +327,7 @@ referência (ex: `"Art. 75 da Lei 14.133"` em vez de `"Art. 75" --doc ...`).
|
|
|
327
327
|
|
|
328
328
|
### Grep
|
|
329
329
|
|
|
330
|
-
Busca exata por texto no corpo das normas
|
|
330
|
+
Busca exata por texto no corpo das normas. Diferente do `search` (semântico), o `grep` procura ocorrências literais.
|
|
331
331
|
|
|
332
332
|
```bash
|
|
333
333
|
# Busca textual exata
|
|
@@ -350,7 +350,7 @@ vectorgov grep "art. 75" --doc LEI-14133-2021 --max 3
|
|
|
350
350
|
|
|
351
351
|
### Merged
|
|
352
352
|
|
|
353
|
-
Busca dual-path combinando semântica
|
|
353
|
+
Busca dual-path combinando busca semântica + índice curado
|
|
354
354
|
com Reciprocal Rank Fusion (RRF).
|
|
355
355
|
|
|
356
356
|
```bash
|
|
@@ -362,16 +362,16 @@ vectorgov merged "Pesquisa de preços" --top-k 15
|
|
|
362
362
|
vectorgov merged "art. 75" --doc LEI-14133-2021
|
|
363
363
|
|
|
364
364
|
# Controle granular de backends (v0.2.1)
|
|
365
|
-
vectorgov merged "dispensa" --no-filesystem # apenas
|
|
366
|
-
vectorgov merged "licitação" --no-hybrid # apenas
|
|
365
|
+
vectorgov merged "dispensa" --no-filesystem # apenas busca semântica
|
|
366
|
+
vectorgov merged "licitação" --no-hybrid # apenas índice curado
|
|
367
367
|
```
|
|
368
368
|
|
|
369
369
|
**Opções**:
|
|
370
370
|
- `--top-k/-k` (1-50, padrão: 10) — quantidade de resultados
|
|
371
371
|
- `--doc/-d` — filtrar por documento específico
|
|
372
372
|
- `--token-budget` — limite de tokens para contexto
|
|
373
|
-
- `--no-hybrid` — desabilita
|
|
374
|
-
- `--no-filesystem` — desabilita índice curado (usa só
|
|
373
|
+
- `--no-hybrid` — desabilita busca semântica (usa só índice curado)
|
|
374
|
+
- `--no-filesystem` — desabilita índice curado (usa só busca semântica)
|
|
375
375
|
- `--output/-o` (table/json/text)
|
|
376
376
|
- `--raw` — inclui `mutual_count`, `hybrid_count`, `filesystem_count` no output
|
|
377
377
|
|
|
@@ -402,7 +402,7 @@ quando já souber o `document_id` e `span_id` exatos (ex: após um `lookup`).
|
|
|
402
402
|
|
|
403
403
|
### Fs-search
|
|
404
404
|
|
|
405
|
-
Busca no índice curado
|
|
405
|
+
Busca no índice curado — alternativa ao `search` vetorial.
|
|
406
406
|
Ideal para termos exatos e referências legais precisas (v0.2.0).
|
|
407
407
|
|
|
408
408
|
```bash
|
|
@@ -411,9 +411,9 @@ vectorgov fs-search "art. 75 da Lei 14.133"
|
|
|
411
411
|
vectorgov fs-search "pregão eletrônico"
|
|
412
412
|
|
|
413
413
|
# Modo específico
|
|
414
|
-
vectorgov fs-search "dispensa" --mode index # só
|
|
415
|
-
vectorgov fs-search "art. 75" --mode grep # só
|
|
416
|
-
vectorgov fs-search "ETP" --mode both #
|
|
414
|
+
vectorgov fs-search "dispensa" --mode index # só busca indexada
|
|
415
|
+
vectorgov fs-search "art. 75" --mode grep # só busca textual
|
|
416
|
+
vectorgov fs-search "ETP" --mode both # índice + textual combinados
|
|
417
417
|
|
|
418
418
|
# Filtrar por documento
|
|
419
419
|
vectorgov fs-search "art. 75" --doc LEI-14133-2021 --output json
|
|
@@ -662,4 +662,3 @@ vectorgov ask --help
|
|
|
662
662
|
- [Documentação](https://vectorgov.io/documentacao)
|
|
663
663
|
- [Playground](https://vectorgov.io/playground)
|
|
664
664
|
- [SDK Python](https://pypi.org/project/vectorgov/)
|
|
665
|
-
- [SDK TypeScript](https://www.npmjs.com/package/vectorgov)
|
|
@@ -21,10 +21,10 @@ def fs_search(
|
|
|
21
21
|
output: str = typer.Option("table", "--output", "-o", help="Formato: table, json, text, llm"),
|
|
22
22
|
raw: bool = typer.Option(False, "--raw", help="JSON bruto para piping"),
|
|
23
23
|
):
|
|
24
|
-
"""Busca no índice curado do filesystem
|
|
24
|
+
"""Busca no índice curado do filesystem.
|
|
25
25
|
|
|
26
26
|
Diferente de 'search' (vetorial), busca por termos exatos no índice curado.
|
|
27
|
-
Combina
|
|
27
|
+
Combina busca indexada (aliases, termos) com busca textual (texto canônico).
|
|
28
28
|
|
|
29
29
|
Exemplo:
|
|
30
30
|
vectorgov fs-search "art. 75 da Lei 14.133"
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Busca híbrida com expansão por grafo normativo
|
|
1
|
+
"""Busca híbrida com expansão por grafo normativo."""
|
|
2
2
|
|
|
3
3
|
import json
|
|
4
4
|
import typer
|
|
@@ -27,7 +27,7 @@ def hybrid(
|
|
|
27
27
|
):
|
|
28
28
|
"""Busca semântica + expansão por grafo de citações normativas.
|
|
29
29
|
|
|
30
|
-
Combina busca vetorial
|
|
30
|
+
Combina busca vetorial com navegação por relações entre normas via grafo.
|
|
31
31
|
Ideal para encontrar artigos relacionados que citam ou são citados pelo resultado.
|
|
32
32
|
|
|
33
33
|
Exemplo:
|
|
@@ -66,7 +66,7 @@ def hybrid(
|
|
|
66
66
|
with console.status("[bold]Buscando com expansão por grafo...[/bold]"):
|
|
67
67
|
result = vg.hybrid(**hybrid_kwargs)
|
|
68
68
|
|
|
69
|
-
# hits = direct_evidence do SDK (seeds
|
|
69
|
+
# hits = direct_evidence do SDK (seeds da busca semântica). Se vazio,
|
|
70
70
|
# usa graph_nodes como fallback (expansão via grafo com score>0).
|
|
71
71
|
direct_hits = list(result.hits) if hasattr(result, "hits") else list(result)
|
|
72
72
|
graph_hits = list(getattr(result, "graph_nodes", []) or [])
|
|
@@ -23,7 +23,7 @@ def merged(
|
|
|
23
23
|
token_budget: int = typer.Option(None, "--token-budget", help="Limite de tokens para contexto"),
|
|
24
24
|
no_hybrid: bool = typer.Option(
|
|
25
25
|
False, "--no-hybrid",
|
|
26
|
-
help="Desabilita o backend
|
|
26
|
+
help="Desabilita o backend semântico, usa só filesystem"
|
|
27
27
|
),
|
|
28
28
|
no_filesystem: bool = typer.Option(
|
|
29
29
|
False, "--no-filesystem",
|
|
@@ -78,7 +78,7 @@ def search(
|
|
|
78
78
|
raise typer.Exit(1)
|
|
79
79
|
|
|
80
80
|
# Monta filters dict para o SDK (keys: tipo, ano, orgao — não tipo_documento)
|
|
81
|
-
# IMPORTANTE:
|
|
81
|
+
# IMPORTANTE: backend armazena tipo_documento UPPERCASE (LEI, DECRETO, IN)
|
|
82
82
|
filters: Optional[dict] = None
|
|
83
83
|
if tipo or ano:
|
|
84
84
|
filters = {}
|
|
@@ -43,6 +43,14 @@ app.add_typer(read.app, name="read", help="Lê texto canônico de um documento o
|
|
|
43
43
|
app.add_typer(explain.app, name="explain", help="Contexto completo de um dispositivo legal")
|
|
44
44
|
|
|
45
45
|
|
|
46
|
+
def _version_callback(value: bool):
|
|
47
|
+
"""Callback para o flag --version."""
|
|
48
|
+
if value:
|
|
49
|
+
from . import __version__
|
|
50
|
+
console.print(f"vectorgov-cli versão {__version__}")
|
|
51
|
+
raise typer.Exit()
|
|
52
|
+
|
|
53
|
+
|
|
46
54
|
@app.command()
|
|
47
55
|
def version():
|
|
48
56
|
"""Mostra a versão do CLI."""
|
|
@@ -51,7 +59,15 @@ def version():
|
|
|
51
59
|
|
|
52
60
|
|
|
53
61
|
@app.callback()
|
|
54
|
-
def callback(
|
|
62
|
+
def callback(
|
|
63
|
+
version: bool = typer.Option(
|
|
64
|
+
False,
|
|
65
|
+
"--version", "-V",
|
|
66
|
+
callback=_version_callback,
|
|
67
|
+
is_eager=True,
|
|
68
|
+
help="Mostra a versão do CLI e sai.",
|
|
69
|
+
),
|
|
70
|
+
):
|
|
55
71
|
"""
|
|
56
72
|
VectorGov CLI - Busca semântica em legislação brasileira.
|
|
57
73
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|