|
Download README.md from chatpbc1/CORTX: direct link, hf CLI and curl.
- Browser
- Download file 3.91 kB
-
https://huggingface.co/chatpbc1/CORTX/resolve/main/README.md
- Command line
-
hf download hf://chatpbc1/CORTX/README.md
-
curl -L -o README.md https://huggingface.co/chatpbc1/CORTX/resolve/main/README.md
3.91 kB
| # CORTX β Self-Editing Reasoning Engine (open source) | |
| **CORTX** turns any instruct-tuned base model into a *self-editing reasoning | |
| engine*: it verifies its own math with executed code, revises its answers | |
| against an objective checker, rewrites its own operating rules when it finds | |
| better ones β and every one of those rewrites passes through a **hard security | |
| boundary** enforced in code, not prompts. | |
| Built by **ChatPBC Labs**. Apache-2.0. | |
| > Base model: `Qwen/Qwen2.5-7B-Instruct` + QLoRA adapter (trainable on a | |
| > single T4). The scaffold is model-agnostic β swap the base to any Qwen | |
| > (32B / 72B / 235B-A22B) or other instruct model by changing one config line. | |
| ## What's in this repo | |
| | File | Purpose | | |
| |---|---| | |
| | `cortx_secure.py` | **The security engine**: whitelist + locked sections + size caps + rate limit + hash-chained audit + rollback. Drop-in module. | | |
| | `gen_synthetic.py` | Synthetic data generator (reasoning + self-edit + security-refusal + correction rows) | | |
| | `train_qwen.py` | QLoRA training kernel (single T4, 4-bit) | | |
| | `test_security.py` | Security self-test (6/6 passing) | | |
| | `SECURITY.md` | Threat model + defense layers + audit verification guide | | |
| | `serve/` | Reference serving kernel (OpenAI-compatible API + admin console, admin token-gated) | | |
| ## Quickstart β use the security engine in your own project | |
| ```python | |
| from cortx_secure import SecureEditor, AuditLog | |
| config = {"version": 1, "self_edit_enabled": True, | |
| "constitution": "...", "tool_rules": "...", | |
| "metacognitive_rules": "...", "refusal_rules": "...", | |
| "playbook": "..."} | |
| editor = SecureEditor(config) # audit log auto-created | |
| # model emits [cortex_edit]{...}[/cortex_edit] blocks in its reply: | |
| clean_text, applied, rejected = editor.apply_edits(model_reply) | |
| print(applied) # [{'section': 'playbook', 'chars': 120}] | |
| print(rejected) # [{'section': 'identity', 'reason': 'locked section...'}] | |
| # tamper-evident audit β verify anytime: | |
| ok, n = editor.audit.verify() | |
| ``` | |
| The model **cannot** edit: identity, security_rules, weights, code, or the | |
| admin token. Attempts are rejected and logged. That boundary is code. | |
| ## The self-improvement loop | |
| ``` | |
| user question | |
| β | |
| βΌ | |
| gate: fast path vs deliberate (System-2) | |
| β | |
| βΌ | |
| generate βββΊ parse [calc:]/[verify:] markers βββΊ sandboxed AST evaluator | |
| β β fails? β | |
| β ββββΊ REVISION request βββββββββ | |
| β β | |
| βΌ βΌ | |
| [cortex_edit] blocks? βββΊ SecureEditor: validate β whitelist β caps β rate limit | |
| β β | |
| βΌ βΌ | |
| answer to user config versioned + hash-chained audit log | |
| (admin can verify the chain or rollback) | |
| ``` | |
| ## Training your own | |
| ```bash | |
| python gen_synthetic.py 600 # -> synthetic_train.jsonl / synthetic_val.jsonl | |
| # upload to Kaggle, run train_qwen.py on a T4 (QLoRA, 4-bit) | |
| # adapter pushed to chatpbc1/CORTX/adapter-qwen | |
| ``` | |
| ## Serving | |
| The reference server is an OpenAI-compatible FastAPI kernel (see `serve/`): | |
| `POST /v1/chat/completions` with a `cortex` option dict | |
| (`{"system2": true, "self_improve": true}`), plus `/cortex/config`, | |
| `/cortex/reset`, `/admin/audit` (token-gated), `/admin/rollback` (token-gated). | |
| ## Honest limits | |
| - 7B base: strong at tool-fired math and instruction following; still a small | |
| model on open-ended reasoning. The scaffold buys *verifiability and auditability*, | |
| not raw IQ. | |
| - Self-edit *quality* is unvalidated by outcomes β review the audit log in | |
| production. Security is enforced; edit wisdom is not. | |
| ## License | |
| Apache-2.0 Β· ChatPBC Labs | |