@ssmeo/mcp-local-rag 0.18.14 → 0.19.0
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.
- package/README.de.md +248 -215
- package/README.es.md +241 -215
- package/README.fr.md +249 -215
- package/README.md +207 -297
- package/README.pt-BR.md +236 -215
- package/README.zh-CN.md +133 -206
- package/dist/chunker/semantic-chunker.d.ts +23 -5
- package/dist/chunker/semantic-chunker.d.ts.map +1 -1
- package/dist/chunker/semantic-chunker.js +13 -5
- package/dist/chunker/semantic-chunker.js.map +1 -1
- package/dist/cli/common.d.ts +7 -0
- package/dist/cli/common.d.ts.map +1 -1
- package/dist/cli/common.js +26 -2
- package/dist/cli/common.js.map +1 -1
- package/dist/cli/delete.d.ts.map +1 -1
- package/dist/cli/delete.js +2 -0
- package/dist/cli/delete.js.map +1 -1
- package/dist/cli/file-collection.d.ts +2 -1
- package/dist/cli/file-collection.d.ts.map +1 -1
- package/dist/cli/file-collection.js +2 -2
- package/dist/cli/file-collection.js.map +1 -1
- package/dist/cli/ingest.d.ts +1 -0
- package/dist/cli/ingest.d.ts.map +1 -1
- package/dist/cli/ingest.js +45 -25
- package/dist/cli/ingest.js.map +1 -1
- package/dist/cli/list.d.ts.map +1 -1
- package/dist/cli/list.js +9 -13
- package/dist/cli/list.js.map +1 -1
- package/dist/cli/options.d.ts +8 -0
- package/dist/cli/options.d.ts.map +1 -1
- package/dist/cli/options.js +21 -0
- package/dist/cli/options.js.map +1 -1
- package/dist/cli/query.d.ts.map +1 -1
- package/dist/cli/query.js +2 -1
- package/dist/cli/query.js.map +1 -1
- package/dist/cli/read-neighbors.d.ts.map +1 -1
- package/dist/cli/read-neighbors.js +1 -0
- package/dist/cli/read-neighbors.js.map +1 -1
- package/dist/cli/relocate.d.ts +3 -0
- package/dist/cli/relocate.d.ts.map +1 -0
- package/dist/cli/relocate.js +135 -0
- package/dist/cli/relocate.js.map +1 -0
- package/dist/cli/sync.d.ts.map +1 -1
- package/dist/cli/sync.js +17 -8
- package/dist/cli/sync.js.map +1 -1
- package/dist/cli-main.d.ts +1 -1
- package/dist/cli-main.d.ts.map +1 -1
- package/dist/cli-main.js +5 -0
- package/dist/cli-main.js.map +1 -1
- package/dist/embedder/embedding-snapshot.d.ts +52 -0
- package/dist/embedder/embedding-snapshot.d.ts.map +1 -0
- package/dist/embedder/embedding-snapshot.js +413 -0
- package/dist/embedder/embedding-snapshot.js.map +1 -0
- package/dist/embedder/index.d.ts +36 -5
- package/dist/embedder/index.d.ts.map +1 -1
- package/dist/embedder/index.js +346 -23
- package/dist/embedder/index.js.map +1 -1
- package/dist/embedder/remote.d.ts +16 -2
- package/dist/embedder/remote.d.ts.map +1 -1
- package/dist/embedder/remote.js +48 -11
- package/dist/embedder/remote.js.map +1 -1
- package/dist/embedder/sentence-transformers-config.d.ts +24 -0
- package/dist/embedder/sentence-transformers-config.d.ts.map +1 -0
- package/dist/embedder/sentence-transformers-config.js +93 -0
- package/dist/embedder/sentence-transformers-config.js.map +1 -0
- package/dist/features/sync.js +1 -1
- package/dist/features/sync.js.map +1 -1
- package/dist/ingest/compute.d.ts +15 -7
- package/dist/ingest/compute.d.ts.map +1 -1
- package/dist/ingest/compute.js +74 -14
- package/dist/ingest/compute.js.map +1 -1
- package/dist/ingest/file.d.ts +3 -3
- package/dist/ingest/file.d.ts.map +1 -1
- package/dist/ingest/file.js +0 -5
- package/dist/ingest/file.js.map +1 -1
- package/dist/ingest/visual.d.ts +6 -2
- package/dist/ingest/visual.d.ts.map +1 -1
- package/dist/ingest/visual.js +20 -4
- package/dist/ingest/visual.js.map +1 -1
- package/dist/parser/docx-parser.d.ts +2 -0
- package/dist/parser/docx-parser.d.ts.map +1 -1
- package/dist/parser/docx-parser.js +12 -3
- package/dist/parser/docx-parser.js.map +1 -1
- package/dist/parser/index.d.ts +11 -1
- package/dist/parser/index.d.ts.map +1 -1
- package/dist/parser/index.js +27 -11
- package/dist/parser/index.js.map +1 -1
- package/dist/parser/pdf-extract.d.ts +2 -0
- package/dist/parser/pdf-extract.d.ts.map +1 -1
- package/dist/parser/pdf-extract.js +3 -0
- package/dist/parser/pdf-extract.js.map +1 -1
- package/dist/parser/pdf-filter.d.ts +2 -9
- package/dist/parser/pdf-filter.d.ts.map +1 -1
- package/dist/parser/pdf-filter.js +110 -144
- package/dist/parser/pdf-filter.js.map +1 -1
- package/dist/parser/pdf-headings.d.ts +6 -0
- package/dist/parser/pdf-headings.d.ts.map +1 -0
- package/dist/parser/pdf-headings.js +166 -0
- package/dist/parser/pdf-headings.js.map +1 -0
- package/dist/parser/text-source-map.d.ts +3 -0
- package/dist/parser/text-source-map.d.ts.map +1 -0
- package/dist/parser/text-source-map.js +33 -0
- package/dist/parser/text-source-map.js.map +1 -0
- package/dist/pdf-visual/detector.js +3 -3
- package/dist/pdf-visual/detector.js.map +1 -1
- package/dist/rerank/command.d.ts +10 -7
- package/dist/rerank/command.d.ts.map +1 -1
- package/dist/rerank/command.js +51 -10
- package/dist/rerank/command.js.map +1 -1
- package/dist/rerank/index.d.ts +3 -3
- package/dist/rerank/index.d.ts.map +1 -1
- package/dist/rerank/index.js +3 -3
- package/dist/rerank/index.js.map +1 -1
- package/dist/server/index.d.ts +4 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +114 -79
- package/dist/server/index.js.map +1 -1
- package/dist/server/list-scanner.d.ts +2 -1
- package/dist/server/list-scanner.d.ts.map +1 -1
- package/dist/server/list-scanner.js +2 -2
- package/dist/server/list-scanner.js.map +1 -1
- package/dist/server/tool-definitions.js +2 -2
- package/dist/server/tool-definitions.js.map +1 -1
- package/dist/server/types.d.ts +9 -0
- package/dist/server/types.d.ts.map +1 -1
- package/dist/server-main.d.ts +2 -2
- package/dist/server-main.d.ts.map +1 -1
- package/dist/server-main.js +22 -20
- package/dist/server-main.js.map +1 -1
- package/dist/utils/base-dirs.d.ts +9 -10
- package/dist/utils/base-dirs.d.ts.map +1 -1
- package/dist/utils/base-dirs.js +28 -30
- package/dist/utils/base-dirs.js.map +1 -1
- package/dist/utils/scan.d.ts +25 -5
- package/dist/utils/scan.d.ts.map +1 -1
- package/dist/utils/scan.js +40 -10
- package/dist/utils/scan.js.map +1 -1
- package/dist/utils/source-context.d.ts +29 -0
- package/dist/utils/source-context.d.ts.map +1 -0
- package/dist/utils/source-context.js +86 -0
- package/dist/utils/source-context.js.map +1 -0
- package/dist/utils/sync-path-key.d.ts +1 -1
- package/dist/utils/sync-path-key.d.ts.map +1 -1
- package/dist/utils/sync-path-key.js +1 -1
- package/dist/utils/sync-path-key.js.map +1 -1
- package/dist/vectordb/index.d.ts +4 -2
- package/dist/vectordb/index.d.ts.map +1 -1
- package/dist/vectordb/index.js +30 -7
- package/dist/vectordb/index.js.map +1 -1
- package/dist/vectordb/relocate.d.ts +18 -0
- package/dist/vectordb/relocate.d.ts.map +1 -0
- package/dist/vectordb/relocate.js +179 -0
- package/dist/vectordb/relocate.js.map +1 -0
- package/dist/vectordb/types.d.ts +10 -23
- package/dist/vectordb/types.d.ts.map +1 -1
- package/dist/vectordb/types.js +14 -23
- package/dist/vectordb/types.js.map +1 -1
- package/package.json +14 -14
package/README.pt-BR.md
CHANGED
|
@@ -4,10 +4,14 @@
|
|
|
4
4
|
|
|
5
5
|
# MCP Local RAG
|
|
6
6
|
|
|
7
|
-
[](https://github.com/shinpr/mcp-local-rag)
|
|
9
|
+
[](https://www.npmjs.com/package/mcp-local-rag)
|
|
11
|
+
[](https://opensource.org/licenses/MIT)
|
|
13
|
+
[](https://registry.modelcontextprotocol.io/)
|
|
11
15
|
|
|
12
16
|
<p align="center">
|
|
13
17
|
<a href="README.md">English</a> |
|
|
@@ -18,41 +22,52 @@
|
|
|
18
22
|
<a href="README.fr.md">Français</a>
|
|
19
23
|
</p>
|
|
20
24
|
|
|
21
|
-
Pesquise documentos privados usando um cliente MCP ou o terminal sem enviá-los a uma API de
|
|
25
|
+
Pesquise documentos privados usando um cliente MCP ou o terminal sem enviá-los a uma API de
|
|
26
|
+
embeddings.
|
|
22
27
|
|
|
23
|
-
O mcp-local-rag indexa arquivos PDF, DOCX, Markdown e texto no seu computador. A busca combina
|
|
28
|
+
O mcp-local-rag indexa arquivos PDF, DOCX, Markdown e texto no seu computador. A busca combina
|
|
29
|
+
similaridade semântica e correspondência por palavras-chave. Assim, leva em conta tanto o
|
|
30
|
+
sentido da consulta quanto termos técnicos exatos, como nomes de APIs, classes e códigos de
|
|
31
|
+
erro. Os resultados trazem trechos do documento e, quando disponíveis, títulos de seção e
|
|
32
|
+
números de linha ou página para você conferir e citar o original.
|
|
24
33
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
- **Execução local:** O processamento dos documentos, os embeddings, o armazenamento e a busca acontecem no seu computador. Depois do primeiro download do modelo, a importação de texto e as buscas funcionam offline.
|
|
28
|
-
- **Busca híbrida:** A recuperação semântica encontra conceitos relacionados, enquanto a correspondência por palavras-chave dá mais peso a termos técnicos exatos.
|
|
29
|
-
- **Embeddings configuráveis:** Escolha um modelo de embeddings do Hugging Face adequado ao idioma e à área dos seus documentos.
|
|
30
|
-
- **Divisão semântica:** Os documentos são divididos nas mudanças de assunto, não por uma quantidade fixa de caracteres. Blocos de código Markdown permanecem intactos.
|
|
31
|
-
- **MCP e CLI:** Use o mesmo índice em uma ferramenta de programação com IA ou diretamente no terminal.
|
|
32
|
-
|
|
33
|
-
Não é necessário ter chave de API, Docker, Python nem banco de dados externo.
|
|
34
|
+
Não é necessário ter chave de API, Docker, Python nem banco de dados externo. Depois do
|
|
35
|
+
primeiro download do modelo, a importação de texto e a busca funcionam offline.
|
|
34
36
|
|
|
35
37
|
## Início rápido
|
|
36
38
|
|
|
37
39
|
### Requisitos
|
|
38
40
|
|
|
39
|
-
- Node.js 22 ou mais recente
|
|
41
|
+
- Node.js 22.20 ou mais recente
|
|
40
42
|
- Acesso à internet no primeiro uso para baixar o pacote npm e o modelo de embeddings
|
|
41
43
|
- Um diretório com os documentos que você quer pesquisar
|
|
42
44
|
|
|
43
|
-
Defina `BASE_DIR` com o caminho desse diretório. Ele também funciona como limite de segurança
|
|
45
|
+
Defina `BASE_DIR` com o caminho desse diretório. Ele também funciona como limite de segurança
|
|
46
|
+
para as operações com arquivos. Substitua `/absolute/path/to/your/documents` nos exemplos pelo
|
|
47
|
+
caminho absoluto do diretório.
|
|
44
48
|
|
|
45
|
-
|
|
49
|
+
Use um dos exemplos abaixo ou registre `npx -y mcp-local-rag` e defina `BASE_DIR` no formato de
|
|
50
|
+
configuração MCP do seu cliente.
|
|
46
51
|
|
|
47
|
-
|
|
52
|
+
Configure também `DB_PATH` e `CACHE_DIR` com caminhos absolutos. Caminhos relativos usam o
|
|
53
|
+
diretório de trabalho do servidor. Se ele for iniciado em projetos diferentes, cada projeto
|
|
54
|
+
terá seu próprio índice e cache de modelos.
|
|
48
55
|
|
|
49
|
-
|
|
56
|
+
<details>
|
|
57
|
+
<summary>Claude Code</summary>
|
|
58
|
+
|
|
59
|
+
Execute este comando:
|
|
50
60
|
|
|
51
61
|
```bash
|
|
52
62
|
claude mcp add local-rag --scope user --env BASE_DIR=/absolute/path/to/your/documents -- npx -y mcp-local-rag
|
|
53
63
|
```
|
|
54
64
|
|
|
55
|
-
|
|
65
|
+
</details>
|
|
66
|
+
|
|
67
|
+
<details>
|
|
68
|
+
<summary>Codex</summary>
|
|
69
|
+
|
|
70
|
+
Adicione a `~/.codex/config.toml`:
|
|
56
71
|
|
|
57
72
|
```toml
|
|
58
73
|
[mcp_servers.local-rag]
|
|
@@ -63,7 +78,12 @@ args = ["-y", "mcp-local-rag"]
|
|
|
63
78
|
BASE_DIR = "/absolute/path/to/your/documents"
|
|
64
79
|
```
|
|
65
80
|
|
|
66
|
-
|
|
81
|
+
</details>
|
|
82
|
+
|
|
83
|
+
<details>
|
|
84
|
+
<summary>OpenCode</summary>
|
|
85
|
+
|
|
86
|
+
Adicione a `~/.config/opencode/opencode.json` (ou `opencode.jsonc`):
|
|
67
87
|
|
|
68
88
|
```json
|
|
69
89
|
{
|
|
@@ -80,7 +100,12 @@ BASE_DIR = "/absolute/path/to/your/documents"
|
|
|
80
100
|
}
|
|
81
101
|
```
|
|
82
102
|
|
|
83
|
-
|
|
103
|
+
</details>
|
|
104
|
+
|
|
105
|
+
<details>
|
|
106
|
+
<summary>Cursor</summary>
|
|
107
|
+
|
|
108
|
+
Adicione a `~/.cursor/mcp.json`:
|
|
84
109
|
|
|
85
110
|
```json
|
|
86
111
|
{
|
|
@@ -96,13 +121,16 @@ BASE_DIR = "/absolute/path/to/your/documents"
|
|
|
96
121
|
}
|
|
97
122
|
```
|
|
98
123
|
|
|
124
|
+
</details>
|
|
125
|
+
|
|
99
126
|
Reinicie o cliente e peça para ele criar o índice:
|
|
100
127
|
|
|
101
128
|
```text
|
|
102
129
|
Sincronize todos os documentos do diretório raiz configurado e aguarde a conclusão.
|
|
103
130
|
```
|
|
104
131
|
|
|
105
|
-
A primeira sincronização baixa o modelo de embeddings padrão (cerca de 90 MB). O início da
|
|
132
|
+
A primeira sincronização baixa o modelo de embeddings padrão (cerca de 90 MB). O início da
|
|
133
|
+
importação pode levar de 1 a 2 minutos. Nas próximas execuções, o cache local será usado.
|
|
106
134
|
|
|
107
135
|
Quando a sincronização terminar, faça uma pergunta:
|
|
108
136
|
|
|
@@ -119,27 +147,45 @@ npx mcp-local-rag ingest ./docs/
|
|
|
119
147
|
npx mcp-local-rag query "API de autenticação"
|
|
120
148
|
```
|
|
121
149
|
|
|
122
|
-
Por padrão, a CLI usa o diretório atual como raiz dos documentos. Execute os dois comandos no
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
Alguns conjuntos de documentos não podem ser enviados a um serviço de embeddings hospedado devido a requisitos de confidencialidade ou políticas da organização. Mantendo o índice local, esses documentos continuam pesquisáveis sem gerar custo de API por consulta.
|
|
127
|
-
|
|
128
|
-
Uma busca puramente semântica pode ignorar identificadores exatos que são importantes na documentação técnica. O reordenamento por palavras-chave mantém esses termos visíveis sem abrir mão das consultas em linguagem natural.
|
|
150
|
+
Por padrão, a CLI usa o diretório atual como raiz dos documentos. Execute os dois comandos no
|
|
151
|
+
mesmo diretório para que usem o mesmo índice padrão ou defina `BASE_DIR` e `DB_PATH`
|
|
152
|
+
explicitamente.
|
|
129
153
|
|
|
130
154
|
## Conteúdo compatível
|
|
131
155
|
|
|
132
156
|
| Entrada | Como importar |
|
|
133
157
|
|---|---|
|
|
134
158
|
| PDF, DOCX, TXT, Markdown | Importação de arquivo ou sincronização de diretório |
|
|
135
|
-
| HTML já obtido pelo cliente | `ingest_data
|
|
159
|
+
| HTML já obtido pelo cliente | `ingest_data` |
|
|
136
160
|
| Texto simples ou Markdown em memória | `ingest_data` com um identificador de origem estável |
|
|
137
161
|
|
|
138
|
-
O servidor não busca HTML por conta própria. Um cliente MCP pode obter uma página e enviar o
|
|
162
|
+
O servidor não busca HTML por conta própria. Um cliente MCP pode obter uma página e enviar o
|
|
163
|
+
HTML para `ingest_data`.
|
|
164
|
+
|
|
165
|
+
A importação de arquivos não aceita Excel, PowerPoint, imagens avulsas nem extensões de
|
|
166
|
+
código-fonte. Opcionalmente, arquivos PDF podem usar um modelo visual local para descrever
|
|
167
|
+
figuras, mas esse recurso não é OCR nem busca de imagens.
|
|
168
|
+
|
|
169
|
+
## Usar o índice
|
|
170
|
+
|
|
171
|
+
Sincronize o índice depois de adicionar, alterar ou remover documentos. Para buscar e ler o
|
|
172
|
+
contexto de um resultado, você pode pedir ao cliente MCP:
|
|
139
173
|
|
|
140
|
-
|
|
174
|
+
```text
|
|
175
|
+
Busque o que a documentação diz sobre ERR_CONNECTION_REFUSED.
|
|
176
|
+
Leia também os trechos anteriores e posteriores a esse resultado.
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
Você também pode importar um único arquivo ou HTML que o cliente já tenha obtido. Para atualizar
|
|
180
|
+
uma entrada existente, importe o documento novamente com o mesmo caminho ou identificador de
|
|
181
|
+
origem. `sync` ignora arquivos sem alterações. Os caminhos de arquivos no MCP devem ser
|
|
182
|
+
absolutos e estar dentro de um diretório raiz configurado.
|
|
141
183
|
|
|
142
|
-
|
|
184
|
+
Os títulos de seção identificados em PDFs podem estar incorretos. Quando precisar do título
|
|
185
|
+
exato, confira na página original.
|
|
186
|
+
|
|
187
|
+
<details>
|
|
188
|
+
<summary>Ferramentas MCP</summary>
|
|
143
189
|
|
|
144
190
|
| Ferramenta | Finalidade |
|
|
145
191
|
|---|---|
|
|
@@ -153,131 +199,138 @@ A importação de arquivos não aceita Excel, PowerPoint, imagens avulsas nem ex
|
|
|
153
199
|
| `delete_file` | Excluir um arquivo indexado ou um item de `ingest_data` |
|
|
154
200
|
| `status` | Mostrar o estado do índice e da busca |
|
|
155
201
|
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
`sync_start` importa arquivos novos e alterados, ignora os que são idênticos byte a byte e remove do índice os arquivos que deixaram de existir:
|
|
159
|
-
|
|
160
|
-
```text
|
|
161
|
-
Sincronize todo o conteúdo dos diretórios raiz configurados e aguarde a conclusão.
|
|
162
|
-
```
|
|
163
|
-
|
|
164
|
-
A ferramenta retorna um `jobId` imediatamente. O cliente deve consultar `sync_status` até o estado mudar para `succeeded` ou `failed`. Um PDF alterado mantém o perfil visual com que foi indexado; um PDF sem perfil registrado continua apenas como texto. `sync_start` não altera o perfil.
|
|
165
|
-
|
|
166
|
-
O processo do servidor mantém apenas o registro de um job de sincronização. Um novo job substitui o registro de outro já concluído, e o registro é descartado quando o servidor reinicia.
|
|
167
|
-
|
|
168
|
-
### Importar um arquivo
|
|
169
|
-
|
|
170
|
-
`ingest_file` aceita PDF, DOCX, TXT e Markdown. Os caminhos enviados via MCP devem ser absolutos e permanecer dentro de um diretório raiz configurado:
|
|
171
|
-
|
|
172
|
-
```text
|
|
173
|
-
Importe o documento /Users/me/docs/api-spec.pdf.
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
Importar novamente o mesmo caminho substitui os fragmentos existentes.
|
|
177
|
-
|
|
178
|
-
### Pesquisar e ler mais contexto
|
|
202
|
+
</details>
|
|
179
203
|
|
|
180
|
-
|
|
181
|
-
O que a documentação da API diz sobre autenticação?
|
|
182
|
-
Encontre o comportamento documentado de ERR_CONNECTION_REFUSED.
|
|
183
|
-
```
|
|
204
|
+
## CLI
|
|
184
205
|
|
|
185
|
-
|
|
206
|
+
Use a CLI para atualizar o índice, restringir as buscas ou remover conteúdo indexado:
|
|
186
207
|
|
|
187
|
-
```
|
|
188
|
-
|
|
208
|
+
```bash
|
|
209
|
+
npx mcp-local-rag sync ./docs/
|
|
210
|
+
npx mcp-local-rag query "autenticação" --scope /docs/api --scope /docs/guide
|
|
211
|
+
npx mcp-local-rag read-neighbors --file-path /abs/path.md --chunk-index 5
|
|
212
|
+
npx mcp-local-rag list
|
|
213
|
+
npx mcp-local-rag status
|
|
214
|
+
npx mcp-local-rag delete ./docs/old.pdf
|
|
215
|
+
npx mcp-local-rag delete --source "https://example.com/docs"
|
|
189
216
|
```
|
|
190
217
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
218
|
+
`ingest` importa os arquivos selecionados; `sync` também remove do índice os arquivos excluídos
|
|
219
|
+
e ignora os que não mudaram. Use `--scope` para limitar os resultados a um prefixo de caminho e
|
|
220
|
+
repita a opção para incluir vários prefixos.
|
|
194
221
|
|
|
195
|
-
|
|
222
|
+
Opções globais, como `--db-path`, `--cache-dir` e `--model-name`, vêm antes do subcomando. As
|
|
223
|
+
opções próprias do subcomando vêm depois:
|
|
196
224
|
|
|
197
|
-
```
|
|
198
|
-
|
|
225
|
+
```bash
|
|
226
|
+
npx mcp-local-rag --db-path ./my-db query "autenticação"
|
|
199
227
|
```
|
|
200
228
|
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
Respeite os termos e os direitos autorais do site de origem ao indexar conteúdo externo.
|
|
204
|
-
|
|
205
|
-
### Figuras em PDF
|
|
229
|
+
Execute `npx mcp-local-rag --help` para consultar a referência completa dos comandos.
|
|
206
230
|
|
|
207
|
-
|
|
231
|
+
`query` grava os resultados em stdout como JSON, com a melhor correspondência primeiro, para
|
|
232
|
+
que você possa encaminhá-los por pipe a outra ferramenta. A definição de cada campo está em
|
|
233
|
+
[`docs/schema/query-output.schema.json`](docs/schema/query-output.schema.json).
|
|
208
234
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
```
|
|
235
|
+
Para mover um projeto e manter o índice, pare o servidor MCP e os outros processos de escrita.
|
|
236
|
+
Mova os arquivos e o banco de dados juntos, sem alterar a estrutura de diretórios, e execute:
|
|
212
237
|
|
|
213
238
|
```bash
|
|
214
|
-
npx mcp-local-rag
|
|
239
|
+
npx mcp-local-rag --db-path /new/project/lancedb relocate --from /old/project --to /new/project
|
|
215
240
|
```
|
|
216
241
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
| `fast` (padrão) | cerca de 250 MB | Indexação visual leve |
|
|
220
|
-
| `quality` | cerca de 1,7 GB | Figuras com rótulos, anotações ou outros textos dentro da imagem |
|
|
221
|
-
|
|
222
|
-
Selecione o modelo maior com `visualQuality: "quality"` via MCP ou com `--visual-quality quality` pela CLI. Em testes com CPU, a inferência levou cerca do triplo do tempo de `fast`, mas o resultado depende do hardware e das atualizações do modelo.
|
|
242
|
+
Na configuração MCP, atualize `BASE_DIR`/`BASE_DIRS`, `DB_PATH` e os demais caminhos afetados.
|
|
243
|
+
Depois, reinicie o cliente.
|
|
223
244
|
|
|
224
|
-
|
|
245
|
+
## Agent Skills
|
|
225
246
|
|
|
226
|
-
|
|
247
|
+
As [Agent Skills](https://agentskills.io/) orientam assistentes de IA na formulação de
|
|
248
|
+
consultas e na importação de conteúdo:
|
|
227
249
|
|
|
228
250
|
```bash
|
|
229
|
-
npx mcp-local-rag
|
|
251
|
+
npx mcp-local-rag skills install --claude-code
|
|
252
|
+
npx mcp-local-rag skills install --claude-code --global
|
|
253
|
+
npx mcp-local-rag skills install --codex
|
|
230
254
|
```
|
|
231
255
|
|
|
232
|
-
|
|
256
|
+
As skills instaladas cobrem formulação de consultas, refinamento de resultados e importação de
|
|
257
|
+
HTML. Se uma skill não for ativada automaticamente, peça ao assistente para usar a skill
|
|
258
|
+
mcp-local-rag de forma explícita.
|
|
233
259
|
|
|
234
|
-
|
|
260
|
+
## Opções avançadas
|
|
235
261
|
|
|
236
|
-
|
|
262
|
+
Comece com as configurações padrão. Consulte as seções abaixo se precisar de vários diretórios
|
|
263
|
+
raiz, adaptar a busca aos seus documentos ou pesquisar em figuras de PDF.
|
|
237
264
|
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
npx mcp-local-rag sync ./docs/ --visual # solicitar fast para todos os PDF do escopo
|
|
241
|
-
npx mcp-local-rag sync ./docs/ --visual --visual-quality quality
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
`--visual` substitui os perfis registrados, então também descreve os PDF que foram indexados como texto. Trocar de perfil reimporta o PDF mesmo que o arquivo não tenha mudado; repetir o mesmo comando não faz nada e não carrega modelo algum.
|
|
265
|
+
<details>
|
|
266
|
+
<summary>Armazenamento e diretórios raiz</summary>
|
|
245
267
|
|
|
246
|
-
|
|
268
|
+
O servidor MCP lê variáveis de ambiente. A CLI aceita as variáveis e opções indicadas. Mantenha
|
|
269
|
+
o mesmo `DB_PATH` se os comandos precisarem compartilhar um índice.
|
|
247
270
|
|
|
248
|
-
|
|
271
|
+
| Variável de ambiente | Opção da CLI | Padrão | Descrição |
|
|
272
|
+
|---------------------|----------|---------|-------------|
|
|
273
|
+
| `BASE_DIR` | `--base-dir` | Diretório atual | Um diretório raiz; a opção da CLI pode ser repetida em `ingest`, `list` e `sync` |
|
|
274
|
+
| `BASE_DIRS` | N/D | não definido | Array JSON de diretórios raiz; tem prioridade sobre `BASE_DIR` |
|
|
275
|
+
| `IGNORE_PATHS` | N/D | não definido | Array JSON de padrões glob para arquivos que devem ficar fora do índice |
|
|
276
|
+
| `DB_PATH` | `--db-path` | `./lancedb/` | Local do banco de dados vetorial |
|
|
277
|
+
| `CACHE_DIR` | `--cache-dir` | `./models/` | Diretório de cache dos modelos |
|
|
278
|
+
| `HF_ENDPOINT` | N/D | `https://huggingface.co` | Endereço para download de modelos do Hugging Face; use a URL de um espelho quando downloads diretos estiverem bloqueados |
|
|
279
|
+
| `MAX_FILE_SIZE` | `--max-file-size` | `104857600` (100 MB) | Tamanho máximo do arquivo em bytes |
|
|
249
280
|
|
|
250
|
-
|
|
281
|
+
As operações com arquivos ficam limitadas aos diretórios raiz configurados. Para usar vários,
|
|
282
|
+
defina `BASE_DIRS='["/absolute/docs","/absolute/specs"]'` ou repita `--base-dir` na CLI.
|
|
283
|
+
Prioridade: diretórios da CLI, `BASE_DIRS`, `BASE_DIR` e diretório atual. Só a fonte de maior
|
|
284
|
+
prioridade é usada; os diretórios de fontes diferentes não são combinados. Um `BASE_DIRS`
|
|
285
|
+
inválido gera erro. Caminhos relativos em `DB_PATH` e `CACHE_DIR` partem do diretório de
|
|
286
|
+
trabalho.
|
|
287
|
+
|
|
288
|
+
Para deixar arquivos fora do índice, defina `IGNORE_PATHS` com um array JSON de padrões glob,
|
|
289
|
+
por exemplo `IGNORE_PATHS='["plugs/**","**/*.draft.md"]'`. Cada padrão é comparado com o caminho
|
|
290
|
+
do arquivo relativo ao diretório raiz que o contém, escrito com `/` em qualquer sistema
|
|
291
|
+
operacional. `*` e `**` não correspondem a nomes que começam com `.`, então escreva esses
|
|
292
|
+
diretórios por extenso, como `".obsidian/**"`. Quando `ingest`, `list` e `sync` percorrem um
|
|
293
|
+
diretório, ignoram os arquivos correspondentes, e `sync` remove do índice os que já estavam
|
|
294
|
+
indexados. Um `IGNORE_PATHS` inválido gera erro.
|
|
251
295
|
|
|
252
|
-
|
|
296
|
+
</details>
|
|
253
297
|
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
npx mcp-local-rag sync ./docs/
|
|
257
|
-
npx mcp-local-rag query "API de autenticação"
|
|
258
|
-
npx mcp-local-rag query "autenticação" --scope /docs/api --scope /docs/guide
|
|
259
|
-
npx mcp-local-rag read-neighbors --file-path /abs/path.md --chunk-index 5
|
|
260
|
-
npx mcp-local-rag list
|
|
261
|
-
npx mcp-local-rag status
|
|
262
|
-
npx mcp-local-rag delete ./docs/old.pdf
|
|
263
|
-
npx mcp-local-rag delete --source "https://example.com/docs"
|
|
264
|
-
```
|
|
298
|
+
<details>
|
|
299
|
+
<summary>Modelos e ajuste da busca</summary>
|
|
265
300
|
|
|
266
|
-
|
|
301
|
+
Escolha um modelo de embeddings adequado ao idioma e ao assunto dos documentos. Compare as
|
|
302
|
+
configurações com suas consultas habituais e confira os trechos retornados. Escolha um modelo
|
|
303
|
+
compatível com mean pooling e normalização L2, usados pela ferramenta para gerar os embeddings.
|
|
267
304
|
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
305
|
+
| Variável de ambiente | Opção da CLI | Padrão | Descrição |
|
|
306
|
+
|---------------------|----------|---------|-------------|
|
|
307
|
+
| `MODEL_NAME` | `--model-name` | `Xenova/all-MiniLM-L6-v2` | Modelo de embeddings do Hugging Face |
|
|
308
|
+
| `CHUNK_MIN_LENGTH` | `--chunk-min-length` | `50` | Tamanho mínimo de um fragmento comum em caracteres (1–10000); um trecho resultante da divisão para respeitar o limite de tokens do modelo pode ser menor |
|
|
309
|
+
| `EMBED_TITLE_PREFIX` | N/D | `false` | Acrescenta o título do documento à entrada usada para gerar o embedding de cada fragmento |
|
|
310
|
+
| `EMBED_HEADING_PREFIX` | N/D | `false` | Acrescenta a hierarquia de títulos das seções à entrada de cada fragmento, se couber no limite de tokens |
|
|
311
|
+
| `RAG_DEVICE` | N/D | `cpu` | Dispositivo de execução do ONNX Runtime |
|
|
312
|
+
| `RAG_DTYPE` | N/D | `fp32` | Tipo de dados dos embeddings enviado ao modelo selecionado |
|
|
271
313
|
|
|
272
|
-
|
|
314
|
+
As duas opções de prefixo vêm desativadas (`false`) e funcionam de forma independente.
|
|
315
|
+
Experimente `EMBED_TITLE_PREFIX` quando um fragmento precisar do assunto geral do documento, ou
|
|
316
|
+
`EMBED_HEADING_PREFIX` quando faltar o assunto da seção. Ativar as duas nem sempre melhora os
|
|
317
|
+
resultados. Elas afetam os embeddings, não o texto retornado nem o índice de palavras-chave; o
|
|
318
|
+
contexto da seção é omitido se ultrapassar o limite de entrada.
|
|
273
319
|
|
|
274
|
-
|
|
320
|
+
Ao mudar o modelo de embeddings, crie um índice novo em outro `DB_PATH`. Vetores de modelos
|
|
321
|
+
diferentes não são comparáveis, mesmo que tenham a mesma dimensão. Ao alterar `RAG_DTYPE` ou
|
|
322
|
+
uma opção de prefixo, importe novamente todos os documentos indexados antes de buscar. `sync`
|
|
323
|
+
ignora arquivos sem alterações.
|
|
275
324
|
|
|
276
|
-
|
|
325
|
+
A CLI não lê a configuração do cliente MCP. Ao compartilhar um índice, use o mesmo modelo,
|
|
326
|
+
`RAG_DTYPE` e configurações de prefixo na importação e na busca. Mudar apenas `RAG_DEVICE` não
|
|
327
|
+
exige um novo índice.
|
|
277
328
|
|
|
278
|
-
|
|
329
|
+
### Ajustes de busca
|
|
279
330
|
|
|
280
|
-
|
|
331
|
+
Os quatro primeiros ajustes da tabela valem tanto para o MCP quanto para a CLI. Para dar mais
|
|
332
|
+
peso aos termos exatos, experimente aumentar `RAG_HYBRID_WEIGHT` e compare os resultados com
|
|
333
|
+
suas próprias perguntas. O reordenamento externo está disponível apenas no MCP.
|
|
281
334
|
|
|
282
335
|
| Variável | Padrão | Descrição |
|
|
283
336
|
|----------|---------|-------------|
|
|
@@ -285,125 +338,84 @@ O reforço por palavras-chave é ativado por padrão. Para acervos que exigem um
|
|
|
285
338
|
| `RAG_GROUPING` | não definido | `similar` mantém o primeiro grupo de relevância; `related` mantém até dois e usa saltos relevantes na distância vetorial como limites. |
|
|
286
339
|
| `RAG_MAX_DISTANCE` | não definido | Descarta resultados pouco relevantes, por exemplo, com `0.5`. |
|
|
287
340
|
| `RAG_MAX_FILES` | não definido | Limita os resultados aos N arquivos mais bem classificados, por exemplo, `1` para apenas o melhor arquivo. |
|
|
288
|
-
| `RAG_RERANK_CMD` | não definido | Somente
|
|
341
|
+
| `RAG_RERANK_CMD` | não definido | Somente MCP: comando externo; `{query}` passa a consulta e `{top}` a quantidade de resultados solicitada. |
|
|
289
342
|
| `RAG_RERANK_TIMEOUT_MS` | `10000` | Tempo máximo por reordenamento em milissegundos (100–600000). |
|
|
290
343
|
|
|
291
|
-
Em especificações de API e outros documentos com muitos identificadores, um peso maior para palavras-chave pode melhorar a classificação de termos exatos:
|
|
292
|
-
|
|
293
|
-
```json
|
|
294
|
-
"env": {
|
|
295
|
-
"RAG_HYBRID_WEIGHT": "0.7"
|
|
296
|
-
}
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
- `0.7`: reordenamento de termos exatos um pouco mais forte que o padrão
|
|
300
|
-
- `1.0`: reforço máximo por palavras-chave
|
|
301
|
-
|
|
302
344
|
### Reordenamento externo (`RAG_RERANK_CMD`)
|
|
303
345
|
|
|
304
|
-
|
|
346
|
+
O comando recebe os resultados e o texto encontrado pela entrada padrão. Se chamar um serviço
|
|
347
|
+
remoto, esse texto poderá sair do computador.
|
|
305
348
|
|
|
306
|
-
|
|
349
|
+
Informe o executável e o template completo dos argumentos. Coloque `{query}` e `{top}` onde o
|
|
350
|
+
comando espera a consulta e a quantidade de resultados. Aspas simples ou duplas agrupam
|
|
351
|
+
caminhos ou argumentos com espaços, e as barras invertidas permanecem literais. O servidor
|
|
352
|
+
inicia o executável sem shell, então no Windows um script wrapper `.cmd` instalado pelo npm não
|
|
353
|
+
pode ser executado dessa forma.
|
|
307
354
|
|
|
308
355
|
```json
|
|
309
|
-
|
|
310
|
-
"
|
|
311
|
-
|
|
356
|
+
{
|
|
357
|
+
"env": {
|
|
358
|
+
"RAG_RERANK_CMD": "/path/to/reranker --query {query} --top {top}",
|
|
359
|
+
"RAG_RERANK_TIMEOUT_MS": "10000"
|
|
360
|
+
}
|
|
312
361
|
}
|
|
313
362
|
```
|
|
314
363
|
|
|
315
|
-
O comando
|
|
316
|
-
|
|
317
|
-
|
|
364
|
+
O comando deve ler e devolver os resultados no formato definido pelo [esquema de
|
|
365
|
+
saída](docs/schema/query-output.schema.json). Ele pode remover ou reordenar resultados e
|
|
366
|
+
modificar o texto. O servidor retorna a saída do comando.
|
|
318
367
|
|
|
319
|
-
|
|
368
|
+
Os resultados mantêm a ordem original se o comando falhar, exceder o tempo limite ou devolver
|
|
369
|
+
uma resposta que não siga o esquema.
|
|
320
370
|
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
1. O analisador extrai o texto do formato de entrada.
|
|
324
|
-
2. O divisor semântico encontra as mudanças de assunto e preserva os blocos de código Markdown.
|
|
325
|
-
3. O Transformers.js cria os embeddings localmente.
|
|
326
|
-
4. O LanceDB armazena os fragmentos, metadados, vetores e o índice de texto completo.
|
|
371
|
+
</details>
|
|
327
372
|
|
|
328
|
-
|
|
373
|
+
<details>
|
|
374
|
+
<summary>Figuras PDF e imagens armazenadas</summary>
|
|
329
375
|
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
4. As correspondências de texto completo reforçam os termos exatos da consulta.
|
|
376
|
+
Por padrão, a importação indexa apenas texto. Para pesquisar também nas figuras de PDF, ative a
|
|
377
|
+
geração local de descrições com `visual: true` no MCP ou `--visual` na CLI. São descrições
|
|
378
|
+
geradas, não OCR nem transcrições exatas.
|
|
334
379
|
|
|
335
|
-
|
|
380
|
+
`fast` (padrão) baixa cerca de 250 MB no primeiro uso. Escolha `quality` para rótulos e texto
|
|
381
|
+
dentro das figuras; ele baixa cerca de 1,7 GB e leva mais tempo para processar.
|
|
336
382
|
|
|
337
|
-
|
|
383
|
+
Selecione o perfil com `visualQuality: "quality"` no MCP ou `--visual-quality quality` na CLI.
|
|
338
384
|
|
|
339
385
|
```bash
|
|
340
|
-
npx mcp-local-rag
|
|
341
|
-
npx mcp-local-rag skills install --claude-code --global
|
|
342
|
-
npx mcp-local-rag skills install --codex
|
|
386
|
+
npx mcp-local-rag ingest ./docs/paper.pdf --visual --visual-quality quality
|
|
343
387
|
```
|
|
344
388
|
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
O servidor MCP lê variáveis de ambiente. A CLI aceita as mesmas variáveis e as opções listadas na tabela; as opções da CLI têm prioridade.
|
|
350
|
-
|
|
351
|
-
| Variável de ambiente | Opção da CLI | Padrão | Descrição |
|
|
352
|
-
|---------------------|----------|---------|-------------|
|
|
353
|
-
| `BASE_DIR` | `--base-dir` | Diretório atual | Um diretório raiz; a opção da CLI pode ser repetida em `ingest`, `list` e `sync` |
|
|
354
|
-
| `BASE_DIRS` | N/D | não definido | Array JSON de diretórios raiz; tem prioridade sobre `BASE_DIR` |
|
|
355
|
-
| `DB_PATH` | `--db-path` | `./lancedb/` | Local do banco de dados vetorial |
|
|
356
|
-
| `CACHE_DIR` | `--cache-dir` | `./models/` | Diretório de cache dos modelos |
|
|
357
|
-
| `HF_ENDPOINT` | N/D | `https://huggingface.co` | Endereço para download de modelos do Hugging Face; use a URL de um espelho quando downloads diretos estiverem bloqueados |
|
|
358
|
-
| `MODEL_NAME` | `--model-name` | `Xenova/all-MiniLM-L6-v2` | Modelo de embeddings do Hugging Face |
|
|
359
|
-
| `MAX_FILE_SIZE` | `--max-file-size` | `104857600` (100 MB) | Tamanho máximo do arquivo em bytes |
|
|
360
|
-
| `CHUNK_MIN_LENGTH` | `--chunk-min-length` | `50` | Tamanho mínimo de um fragmento comum em caracteres (1–10000); um trecho resultante da divisão para respeitar o limite de tokens do modelo pode ser menor |
|
|
361
|
-
| `RAG_DEVICE` | N/D | `cpu` | Dispositivo de execução do ONNX Runtime |
|
|
362
|
-
| `RAG_DTYPE` | N/D | `fp32` | Tipo de dados dos embeddings enviado ao modelo selecionado |
|
|
363
|
-
|
|
364
|
-
### Diretórios raiz (`BASE_DIR` e `BASE_DIRS`)
|
|
365
|
-
|
|
366
|
-
O mcp-local-rag só permite operações com arquivos dentro dos diretórios raiz configurados. Para usar vários diretórios, `BASE_DIRS` deve ser um array JSON de caminhos não vazios:
|
|
367
|
-
|
|
368
|
-
```bash
|
|
369
|
-
export BASE_DIRS='["/Users/me/Documents/work","/Users/me/Projects/specs"]'
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
A configuração é resolvida nesta ordem:
|
|
373
|
-
|
|
374
|
-
1. Opções `--base-dir <path>` da CLI (podem ser repetidas em `ingest`, `list` e `sync`)
|
|
375
|
-
2. `BASE_DIRS`
|
|
376
|
-
3. `BASE_DIR`
|
|
377
|
-
4. Diretório atual
|
|
378
|
-
|
|
379
|
-
Cada origem substitui a de menor prioridade, em vez de ser combinada com ela. Uma configuração inválida de `BASE_DIRS` produz um erro, sem recorrer a `BASE_DIR` ou ao diretório atual. `status` continua disponível no MCP para que o cliente possa informar o erro de configuração.
|
|
389
|
+
Para receber imagens junto com os trechos encontrados, use `STORE_IMAGES=true` no MCP ou
|
|
390
|
+
`--images` com `ingest` e `sync` na CLI. A opção independe das descrições e aceita figuras e
|
|
391
|
+
tabelas detectadas em PDFs, além das imagens PNG/JPEG compatíveis de DOCX.
|
|
380
392
|
|
|
381
393
|
```bash
|
|
382
|
-
npx mcp-local-rag ingest
|
|
383
|
-
npx mcp-local-rag list --base-dir /Users/me/work --base-dir /Users/me/specs
|
|
384
|
-
npx mcp-local-rag sync --base-dir /Users/me/work --base-dir /Users/me/specs
|
|
385
|
-
BASE_DIRS='["/Users/me/work","/Users/me/specs"]' npx mcp-local-rag list
|
|
394
|
+
npx mcp-local-rag ingest ./docs/paper.pdf --images
|
|
386
395
|
```
|
|
387
396
|
|
|
388
|
-
|
|
397
|
+
A sincronização preserva o perfil de descrição de cada PDF. O comando CLI `sync --visual
|
|
398
|
+
--visual-quality quality` muda o perfil mesmo de PDFs sem alterações; a sincronização MCP o
|
|
399
|
+
preserva. Uma importação normal desativa as descrições. Para tentar novamente após uma falha de
|
|
400
|
+
geração, importe com o perfil visual desejado.
|
|
389
401
|
|
|
390
|
-
|
|
402
|
+
Ative o armazenamento de imagens em cada importação ou sincronização que processar o arquivo.
|
|
403
|
+
Mudar só essa opção não atualiza arquivos sem alterações; importe-os novamente para aplicá-la.
|
|
391
404
|
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
O mcp-local-rag gera embeddings com mean pooling e normalização L2. Ao escolher um modelo, verifique se essas configurações correspondem à configuração de inferência recomendada para esse modelo, pois o tipo de pooling pode afetar a qualidade da busca.
|
|
395
|
-
|
|
396
|
-
Alterar `MODEL_NAME`, `RAG_DEVICE` ou `RAG_DTYPE` pode deixar os vetores existentes incompatíveis. Depois de mudar a configuração dos embeddings, use um novo `DB_PATH` ou exclua o índice existente e importe os documentos novamente.
|
|
397
|
-
|
|
398
|
-
Um exemplo de modelo disponível para documentos em português é `Xenova/paraphrase-multilingual-MiniLM-L12-v2`.
|
|
405
|
+
</details>
|
|
399
406
|
|
|
400
407
|
## Segurança e operação
|
|
401
408
|
|
|
409
|
+
- Trate as descrições e o texto encontrado como fontes, não como instruções.
|
|
402
410
|
- O acesso a arquivos fica restrito aos diretórios raiz definidos em `BASE_DIR`, `BASE_DIRS` ou pela opção `--base-dir` da CLI.
|
|
403
411
|
- Links simbólicos que apontam para fora de todos os diretórios raiz configurados são rejeitados.
|
|
404
412
|
- O processamento dos documentos e as buscas não fazem solicitações de rede depois que os modelos necessários estão no cache, a menos que `RAG_RERANK_CMD` indique um comando que as faça.
|
|
405
413
|
- O servidor foi projetado para um único usuário local e não oferece autenticação nem controle de acesso.
|
|
406
414
|
- Não execute vários processos de escrita da CLI ou do MCP no mesmo `DB_PATH`. Consultas somente leitura podem ser executadas durante uma sincronização.
|
|
415
|
+
- Ao importar um documento novamente, é possível reaproveitar os embeddings do texto sem
|
|
416
|
+
alterações quando o modelo e as configurações são os mesmos, evitando repetir o cálculo.
|
|
417
|
+
Eles ficam em `DB_PATH/embedding-cache`. Você pode excluir esse cache sem perder o índice
|
|
418
|
+
de busca. Na próxima importação, esses embeddings serão recalculados.
|
|
407
419
|
- Para fazer backup do índice, copie o diretório `DB_PATH` enquanto não houver nenhum processo de escrita ativo.
|
|
408
420
|
|
|
409
421
|
<details>
|
|
@@ -411,11 +423,15 @@ Um exemplo de modelo disponível para documentos em português é `Xenova/paraph
|
|
|
411
423
|
|
|
412
424
|
### "No results found"
|
|
413
425
|
|
|
414
|
-
Os documentos precisam ser importados primeiro. Execute `"Liste todos os arquivos importados"`
|
|
426
|
+
Os documentos precisam ser importados primeiro. Execute `"Liste todos os arquivos importados"`
|
|
427
|
+
para verificar. Se não houver resultados após a sincronização, confira se a importação e a
|
|
428
|
+
busca usam o mesmo `DB_PATH` absoluto. Um caminho relativo pode apontar para outro índice.
|
|
415
429
|
|
|
416
430
|
### Falha no download do modelo
|
|
417
431
|
|
|
418
|
-
Verifique a conexão com a internet. Se estiver usando um proxy, revise as configurações de
|
|
432
|
+
Verifique a conexão com a internet. Se estiver usando um proxy, revise as configurações de
|
|
433
|
+
rede. O modelo também pode ser [baixado
|
|
434
|
+
manualmente](https://huggingface.co/Xenova/all-MiniLM-L6-v2).
|
|
419
435
|
|
|
420
436
|
### "File too large"
|
|
421
437
|
|
|
@@ -423,11 +439,13 @@ O limite padrão é 100 MB. Divida o arquivo ou aumente `MAX_FILE_SIZE`.
|
|
|
423
439
|
|
|
424
440
|
### Consultas lentas
|
|
425
441
|
|
|
426
|
-
Verifique a quantidade de fragmentos com `status`. Documentos grandes, com muitos fragmentos,
|
|
442
|
+
Verifique a quantidade de fragmentos com `status`. Documentos grandes, com muitos fragmentos,
|
|
443
|
+
podem deixar as consultas mais lentas. Considere dividir arquivos muito grandes.
|
|
427
444
|
|
|
428
445
|
### "Path outside BASE_DIR"
|
|
429
446
|
|
|
430
|
-
O caminho precisa estar dentro de um dos diretórios raiz configurados: `BASE_DIR`, uma entrada
|
|
447
|
+
O caminho precisa estar dentro de um dos diretórios raiz configurados: `BASE_DIR`, uma entrada
|
|
448
|
+
de `BASE_DIRS` ou um caminho definido por `--base-dir` na CLI. Use um caminho absoluto.
|
|
431
449
|
|
|
432
450
|
### "BASE_DIRS must be a JSON array..."
|
|
433
451
|
|
|
@@ -447,7 +465,8 @@ O caminho precisa estar dentro de um dos diretórios raiz configurados: `BASE_DI
|
|
|
447
465
|
|
|
448
466
|
## Como contribuir
|
|
449
467
|
|
|
450
|
-
Contribuições são bem-vindas. Consulte [CONTRIBUTING.md](CONTRIBUTING.md) para preparar o
|
|
468
|
+
Contribuições são bem-vindas. Consulte [CONTRIBUTING.md](CONTRIBUTING.md) para preparar o
|
|
469
|
+
ambiente e conferir as orientações.
|
|
451
470
|
|
|
452
471
|
## Licença
|
|
453
472
|
|
|
@@ -459,4 +478,6 @@ Licença MIT. Uso gratuito para fins pessoais e comerciais.
|
|
|
459
478
|
|
|
460
479
|
## Agradecimentos
|
|
461
480
|
|
|
462
|
-
Desenvolvido com o [Model Context Protocol](https://modelcontextprotocol.io/) da Anthropic, o
|
|
481
|
+
Desenvolvido com o [Model Context Protocol](https://modelcontextprotocol.io/) da Anthropic, o
|
|
482
|
+
[LanceDB](https://lancedb.com/) e o
|
|
483
|
+
[Transformers.js](https://huggingface.co/docs/transformers.js).
|