bankml: the verified CPU engine as backend, serve target and imprint probe
#1
by Gregory-L - opened
bankml (github.com/cryptoAGI/bankml) is reached over HTTP and its CLI only;
nothing is vendored.
- operator/backends/bankml.py: @register_backend("bankml"), default
MINDXTRAIN_BANKML_BASE_URL http://127.0.0.1:18093/v1; keeps the
bankml_receipt (ChatResponse.receipt, last_receipt for streams); HTTP 400
becomes BankmlRefusal(reason) and is never retried with altered params. - operator: backend_kwargs() replaces the duplicated per-backend branches in
app.py and coach/api.py; GET /bankml + /v1/models health probes;
auto-detect tries bankml only after ollama and vllm; the governance panel
env chain gains MINDXTRAIN_BANKML_BASE_URL last, only when set. - deploy/bankml_push.py +
serve --to bankml: merge -> Modelfile through
bankml_sanitize (refuses ADAPTER, a foreign TEMPLATE, penalties, mirostat,
typical_p, resource params; never drops them) -> bankml create; records
the model sha256; refuses quantized configs and non-Llama archs; a bankml
without create/convert (pre-0.3.5) is reported as bankml_too_old. - eval/imprint_bankml.py +
imprint-bankml: seeded, unpenalised greedy
probes with a receipt per utterance, tagged /bankml-greedy and
marked not comparable with the canonical 1.3-penalty gate. - MEI engine literal += bankml; Gradio Serve room offers bankml; console
omits penalty/mirostat options at the engine default; HF published
Modelfile can omit repeat_penalty (default unchanged). - docs/bankml.md, README, CLAUDE.md, NAV, cli, development, CHANGELOG,
llm.txt. Tests: 56 new (821 passed, 3 skipped); ruff unchanged.
Co-Authored-By: Professor Codephreak codephreak@pythai.net
made with luv.pythai.net
Merged with one commit on top (437dccc): bankml 0.3.6.
- Penalties (repeat_penalty, repeat_last_n, presence_penalty, frequency_penalty) are taken in the Modelfile when
bankml versionis 0.3.6+ and refused, with the reason, before.serve --to bankmlgains --bankml-system, --bankml-param KEY=VALUE and --bankml-stop. On gen39 the bare pin answers ",,,,"; the layered tag answers in words. - The merged directory is converted through a link named after the tag, so llama.cpp's general.name is the tag's: gen39 converts to 6b64c748…, the GGUF mindX pins (through merged/ it was "Merged" and a different sha256). Verified against bankml 0.3.6 with this repo's gen39 weights.
- BankmlBackend sends sampling fields from options= / MINDXTRAIN_BANKML_OPTIONS, only when set.
- MINDXTRAIN_CHAT_MODEL / MINDXTRAIN_JUDGE_MODEL / MINDXTRAIN_CHAT_OPTIONS: the panel and the judges named llama3.2, which a bankml node does not serve.
- docs/install.md: deploying bankml 0.3.6 and this lane on the mindX VPS, step by step, with checks and a rollback.
852 passed, 3 skipped (842 + 10).
made with luv.pythai.net
Gregory-L changed pull request status to merged