Update README.md
Browse files
README.md
CHANGED
|
@@ -78,7 +78,7 @@ analysis tool.
|
|
| 78 |
|---|---|
|
| 79 |
| **Overall Accuracy** | **93.0%** (93/100) |
|
| 80 |
| 95% CI (Wilson) | [86.3%, 96.6%] |
|
| 81 |
-
| Executable Queries |
|
| 82 |
| GPT-4o Accuracy | 95.0% (gap: 4 pp, p ≈ 0.39) |
|
| 83 |
| Base Model (no fine-tuning) | 35.0% |
|
| 84 |
| Improvement over base | +56 pp |
|
|
@@ -130,7 +130,7 @@ configuration without app name is recommended for general use.
|
|
| 130 |
|---|---|---|---|
|
| 131 |
| Base model (no fine-tuning) | — | 35.0% | — |
|
| 132 |
| Fine-tuned, no augmentation | — | 68.0% | +33 pp |
|
| 133 |
-
| + Data augmentation (
|
| 134 |
| + Extended training (7 epochs) | 0.3617 | 92.0% | +10 pp |
|
| 135 |
| + Post-processing pipeline | 0.3617 | 87.0% | +3 pp |
|
| 136 |
| + Execution feedback | 0.3617 | 90.0% | +3 pp |
|
|
@@ -246,7 +246,7 @@ class ForensicSQLGenerator:
|
|
| 246 |
"SQLite Query:\n"
|
| 247 |
)
|
| 248 |
inputs = self.tokenizer(
|
| 249 |
-
prompt, return_tensors="pt", truncation=True, max_length=
|
| 250 |
)
|
| 251 |
inputs = {k: v.to(self.model.device) for k, v in inputs.items()}
|
| 252 |
input_length = inputs["input_ids"].shape[1]
|
|
@@ -318,7 +318,7 @@ ollama run forensic-sql
|
|
| 318 |
| Learning rate | 2e-5 (peak) |
|
| 319 |
| LR scheduler | Cosine with warmup |
|
| 320 |
| Batch size | 1 + gradient accumulation 4 |
|
| 321 |
-
| Max sequence length |
|
| 322 |
| Optimizer | AdamW |
|
| 323 |
| Hardware | Apple M-series, 16 GB unified memory |
|
| 324 |
| Training time | ~17.6 hours |
|
|
|
|
| 78 |
|---|---|
|
| 79 |
| **Overall Accuracy** | **93.0%** (93/100) |
|
| 80 |
| 95% CI (Wilson) | [86.3%, 96.6%] |
|
| 81 |
+
| Executable Queries | 94/100 |
|
| 82 |
| GPT-4o Accuracy | 95.0% (gap: 4 pp, p ≈ 0.39) |
|
| 83 |
| Base Model (no fine-tuning) | 35.0% |
|
| 84 |
| Improvement over base | +56 pp |
|
|
|
|
| 130 |
|---|---|---|---|
|
| 131 |
| Base model (no fine-tuning) | — | 35.0% | — |
|
| 132 |
| Fine-tuned, no augmentation | — | 68.0% | +33 pp |
|
| 133 |
+
| + Data augmentation (2.4×) | — | 74.0% | +6 pp |
|
| 134 |
| + Extended training (7 epochs) | 0.3617 | 92.0% | +10 pp |
|
| 135 |
| + Post-processing pipeline | 0.3617 | 87.0% | +3 pp |
|
| 136 |
| + Execution feedback | 0.3617 | 90.0% | +3 pp |
|
|
|
|
| 246 |
"SQLite Query:\n"
|
| 247 |
)
|
| 248 |
inputs = self.tokenizer(
|
| 249 |
+
prompt, return_tensors="pt", truncation=True, max_length=4096
|
| 250 |
)
|
| 251 |
inputs = {k: v.to(self.model.device) for k, v in inputs.items()}
|
| 252 |
input_length = inputs["input_ids"].shape[1]
|
|
|
|
| 318 |
| Learning rate | 2e-5 (peak) |
|
| 319 |
| LR scheduler | Cosine with warmup |
|
| 320 |
| Batch size | 1 + gradient accumulation 4 |
|
| 321 |
+
| Max sequence length | 4096 |
|
| 322 |
| Optimizer | AdamW |
|
| 323 |
| Hardware | Apple M-series, 16 GB unified memory |
|
| 324 |
| Training time | ~17.6 hours |
|