Hermes Tool
Command-line utilities for building, inspecting, optimizing, and preprocessing Hermes indexes.
Build and help
Set RUST_LOG=hermes_tool=debug for additional diagnostics.
Index lifecycle
Create an index from a schema file:
Or initialize one from inline SDL:
Index JSON Lines from a file or standard input, then commit:
|
Use the index inspection and maintenance commands:
index accepts memory, indexing-thread, compression-thread, and optimization
controls. Run hermes-tool index --help before tuning them; the defaults are
chosen for general-purpose ingestion.
JSONL preprocessing
simhash, sort, and term-stats read JSON objects from standard input and
write their primary output to standard output, so they can be composed:
|
|
|
The external sorter writes bounded chunks to a temporary directory. Use
--chunk-size to control memory and --temp-dir to choose a volume with
sufficient free space.
Vector utilities
Train IVF coarse centroids from a numeric array field in JSONL:
All accepted vectors should have the same dimension. --sample-size limits
the number read.
retrain-centroids is currently a diagnostic placeholder: it opens the index
and prints the manual JSONL workflow, but does not extract vectors or rebuild
the index. Use train-centroids until the end-to-end operation is implemented.
Development
From the repository root:
Keep the clap help in src/main.rs and this command overview aligned whenever
commands or defaults change.
License
MIT