ko-qmd 2.8.3-ko.4 → 2.8.3-ko.5
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/CHANGELOG.md +39 -0
- package/README.md +171 -1490
- package/dist/cli/build-info.json +2 -2
- package/dist/cli/qmd.js +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +2 -0
- package/dist/llm.d.ts +5 -0
- package/dist/llm.js +16 -2
- package/dist/mcp/server.js +2 -0
- package/dist/store.d.ts +9 -2
- package/dist/store.js +18 -13
- package/package.json +1 -1
- package/README.ko.md +0 -115
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,45 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [2.8.3-ko.5] - 2026-09-24
|
|
6
|
+
|
|
7
|
+
Rerank gets an input cap. Truncating each document to 128 tokens keeps KB
|
|
8
|
+
goldset quality (Hit@5 0.97 / Recall@5 0.77) while cutting cold rerank p90 from
|
|
9
|
+
3.6s to 0.9s on an M3 Max. The cap can be set daemon-wide
|
|
10
|
+
(`QMD_RERANK_MAX_DOC_TOKENS`) or per request (`rerankMaxDocTokens` on REST
|
|
11
|
+
`/query` and SDK `search()`). The README is now a Korean guide to ko-qmd itself,
|
|
12
|
+
and the English reference lives in `docs/REFERENCE.md`.
|
|
13
|
+
|
|
14
|
+
### Changes
|
|
15
|
+
|
|
16
|
+
- README.md is rewritten in Korean around ko-qmd itself: what differs from
|
|
17
|
+
upstream, install, quick start, MCP/REST/SDK, environment variables and the
|
|
18
|
+
maintenance guide that used to live in `README.ko.md` (now removed). The
|
|
19
|
+
upstream-derived English reference (full CLI, MCP tool parameters, SDK API,
|
|
20
|
+
score fusion) moved to `docs/REFERENCE.md`, with install and import names
|
|
21
|
+
switched to `ko-qmd`.
|
|
22
|
+
- REST `POST /query` and SDK `search()` take `rerankMaxDocTokens`, a
|
|
23
|
+
per-request rerank doc token cap. For that request it overrides the daemon's
|
|
24
|
+
`QMD_RERANK_MAX_DOC_TOKENS`, and it never raises the context budget. A caller
|
|
25
|
+
like the KB seam can then turn a capped rerank on for one machine without
|
|
26
|
+
changing the daemon's env. The rerank cache key follows the effective cap
|
|
27
|
+
(request, else env). Invalid values (non-integer, ≤ 0, strings) are ignored.
|
|
28
|
+
- `QMD_RERANK_MAX_DOC_TOKENS` caps the tokens of each document sent to the
|
|
29
|
+
reranker, below the context budget. Unset keeps today's behaviour. On the KB
|
|
30
|
+
goldset (40 queries, candidateLimit 15), a cap of 128 keeps quality at
|
|
31
|
+
Hit@5 0.97 / Recall@5 0.77 against 0.95 / 0.76 uncapped. It cuts cold p90 from
|
|
32
|
+
3623ms to 897ms on an M3 Max and from 4720ms to 2192ms on another Apple Silicon
|
|
33
|
+
Mac. The cap is part of the rerank cache key, so capped and uncapped scores
|
|
34
|
+
never mix. Listed in `qmd doctor`.
|
|
35
|
+
- `scripts/dogfood.sh` warms the embedding model with one vec query after
|
|
36
|
+
every daemon restart (deploy and `--restore`). A fresh daemon's first vec
|
|
37
|
+
query took 15.5s, so the first KB seam search after a restart hit its 20s
|
|
38
|
+
limit and fell back to rg. A failed warm-up is a warning, not a failed restart.
|
|
39
|
+
- `scripts/dogfood.sh` waits for the *restarted* daemon. `launchctl kickstart -k`
|
|
40
|
+
returns while the old process is still shutting down and answering `/health`,
|
|
41
|
+
so the restart looked done ~9s before the new process listened. A `/health`
|
|
42
|
+
whose `uptime` predates the kickstart is now treated as the old process.
|
|
43
|
+
|
|
5
44
|
## [2.8.3-ko.4] - 2026-09-24
|
|
6
45
|
|
|
7
46
|
Korean documents are now chunked at their real token budget, and Hangul
|