Text Generation
Transformers
Safetensors
GGUF
English
Portuguese
qwen3_5
image-text-to-text
qwen
unsloth
lora
code-generation
simplicio-loop
software-engineering
surgical-diff
agentic-coding
conversational
Instructions to use wesleysimplicio/Simplicio-27B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use wesleysimplicio/Simplicio-27B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="wesleysimplicio/Simplicio-27B") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("wesleysimplicio/Simplicio-27B") model = AutoModelForMultimodalLM.from_pretrained("wesleysimplicio/Simplicio-27B", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- llama.cpp
How to use wesleysimplicio/Simplicio-27B with llama.cpp:
Install (macOS, Linux)
curl -LsSf https://llama.app/install.sh | sh # Start a local OpenAI-compatible server with a web UI: llama serve -hf wesleysimplicio/Simplicio-27B:BF16 # Run inference directly in the terminal: llama cli -hf wesleysimplicio/Simplicio-27B:BF16
Install from WinGet (Windows)
winget install llama.cpp # Start a local OpenAI-compatible server with a web UI: llama serve -hf wesleysimplicio/Simplicio-27B:BF16 # Run inference directly in the terminal: llama cli -hf wesleysimplicio/Simplicio-27B:BF16
Use pre-built binary
# Download pre-built binary from: # https://github.com/ggerganov/llama.cpp/releases # Start a local OpenAI-compatible server with a web UI: ./llama-server -hf wesleysimplicio/Simplicio-27B:BF16 # Run inference directly in the terminal: ./llama-cli -hf wesleysimplicio/Simplicio-27B:BF16
Build from source code
git clone https://github.com/ggerganov/llama.cpp.git cd llama.cpp cmake -B build cmake --build build -j --target llama-server llama-cli # Start a local OpenAI-compatible server with a web UI: ./build/bin/llama-server -hf wesleysimplicio/Simplicio-27B:BF16 # Run inference directly in the terminal: ./build/bin/llama-cli -hf wesleysimplicio/Simplicio-27B:BF16
Use Docker
docker model run hf.co/wesleysimplicio/Simplicio-27B:BF16
- Llama new
- LM Studio
- Jan
- vLLM
How to use wesleysimplicio/Simplicio-27B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "wesleysimplicio/Simplicio-27B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "wesleysimplicio/Simplicio-27B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/wesleysimplicio/Simplicio-27B:BF16
- SGLang
How to use wesleysimplicio/Simplicio-27B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "wesleysimplicio/Simplicio-27B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "wesleysimplicio/Simplicio-27B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "wesleysimplicio/Simplicio-27B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "wesleysimplicio/Simplicio-27B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Ollama
How to use wesleysimplicio/Simplicio-27B with Ollama:
ollama run hf.co/wesleysimplicio/Simplicio-27B:BF16
- Unsloth Desktop
- Pi
How to use wesleysimplicio/Simplicio-27B with Pi:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf wesleysimplicio/Simplicio-27B:BF16
Configure the model in Pi
# Install Pi: npm install -g @earendil-works/pi-coding-agent # Add to ~/.pi/agent/models.json: { "providers": { "llama-cpp": { "baseUrl": "http://localhost:8080/v1", "api": "openai-completions", "apiKey": "none", "models": [ { "id": "wesleysimplicio/Simplicio-27B:BF16" } ] } } }Run Pi
# Start Pi in your project directory: pi
- Docker Model Runner
How to use wesleysimplicio/Simplicio-27B with Docker Model Runner:
docker model run hf.co/wesleysimplicio/Simplicio-27B:BF16
- Lemonade
How to use wesleysimplicio/Simplicio-27B with Lemonade:
Pull the model
# Download Lemonade from https://lemonade-server.ai/ lemonade pull wesleysimplicio/Simplicio-27B:BF16
Run and chat with the model
lemonade run user.Simplicio-27B-BF16
List all available models
lemonade list
- Hermes Agent
How to use wesleysimplicio/Simplicio-27B with Hermes Agent:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf wesleysimplicio/Simplicio-27B:BF16
Configure Hermes
# Install Hermes: curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash hermes setup # Point Hermes at the local server: hermes config set model.provider custom hermes config set model.base_url http://127.0.0.1:8080/v1 hermes config set model.default wesleysimplicio/Simplicio-27B:BF16
Run Hermes
hermes
- Atomic Chat
- OpenClaw
How to use wesleysimplicio/Simplicio-27B with OpenClaw:
Start the llama.cpp server
# Install llama.cpp: brew install llama.cpp # Start a local OpenAI-compatible server: llama serve -hf wesleysimplicio/Simplicio-27B:BF16
Configure OpenClaw
# Install OpenClaw: npm install -g openclaw@latest # Register the local server and set it as the default model: openclaw onboard --non-interactive --mode local \ --auth-choice custom-api-key \ --custom-base-url http://127.0.0.1:8080/v1 \ --custom-model-id "wesleysimplicio/Simplicio-27B:BF16" \ --custom-provider-id llama-cpp \ --custom-compatibility openai \ --custom-text-input \ --accept-risk \ --skip-health
Run OpenClaw
openclaw agent --local --agent main --message "Hello from Hugging Face"
Update README.md
Browse files
README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
| 1 |
---
|
| 2 |
language:
|
| 3 |
-
- pt
|
| 4 |
- en
|
|
|
|
| 5 |
license: apache-2.0
|
| 6 |
base_model: Qwen/Qwen3.8-27B
|
| 7 |
tags:
|
|
@@ -11,148 +11,366 @@ tags:
|
|
| 11 |
- code-generation
|
| 12 |
- simplicio-loop
|
| 13 |
- software-engineering
|
| 14 |
-
- surgical-
|
| 15 |
-
-
|
| 16 |
pipeline_tag: text-generation
|
| 17 |
---
|
| 18 |
|
| 19 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
|
| 21 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 22 |
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 29 |
|
| 30 |
---
|
| 31 |
|
| 32 |
-
##
|
| 33 |
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
|
| 44 |
---
|
| 45 |
|
| 46 |
-
##
|
|
|
|
|
|
|
| 47 |
|
| 48 |
-
### 1. Infeência com Transformers & PEFT
|
| 49 |
```python
|
| 50 |
import torch
|
| 51 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 52 |
from peft import PeftModel
|
| 53 |
|
| 54 |
base_model_id = "Qwen/Qwen3.8-27B"
|
| 55 |
-
lora_model_id = "wesleysimplicio/Simplicio-27B
|
| 56 |
|
|
|
|
| 57 |
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
|
| 58 |
base_model = AutoModelForCausalLM.from_pretrained(
|
| 59 |
base_model_id,
|
| 60 |
torch_dtype=torch.bfloat16,
|
| 61 |
device_map="auto"
|
| 62 |
)
|
|
|
|
|
|
|
| 63 |
model = PeftModel.from_pretrained(base_model, lora_model_id)
|
| 64 |
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 68 |
<|im_start|>user
|
| 69 |
-
|
| 70 |
-
|
| 71 |
<|im_start|>assistant
|
| 72 |
"""
|
| 73 |
|
| 74 |
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
|
| 75 |
-
outputs = model.generate(**inputs, max_new_tokens=512)
|
| 76 |
-
print(tokenizer.decode(outputs[0], skip_special_tokens=
|
| 77 |
```
|
| 78 |
|
| 79 |
-
### 2.
|
| 80 |
-
|
| 81 |
-
|
| 82 |
-
|
| 83 |
-
|
| 84 |
-
|
| 85 |
-
|
| 86 |
-
|
| 87 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
```
|
| 89 |
|
| 90 |
---
|
| 91 |
|
| 92 |
-
##
|
| 93 |
-
|
| 94 |
-
|
| 95 |
-
|
| 96 |
-
|
| 97 |
-
|
| 98 |
-
4
|
| 99 |
-
5. Auditoria de Custo de Leitura
|
| 100 |
-
6. Verificação de Regras Locais
|
| 101 |
-
7. Detecção de Dependências e Runtimes
|
| 102 |
-
8. Análise de Arquitetura em Camadas
|
| 103 |
-
9. Eliminação de Ambiguidade Inicial
|
| 104 |
-
10. Geração do Baseline Handle
|
| 105 |
-
|
| 106 |
-
### Fase II: Decomposição, Roteamento e Planejamento (11 a 20)
|
| 107 |
-
11. Quebra Atômica de Tarefa
|
| 108 |
-
12. Roteamento Especializado
|
| 109 |
-
13. Plano de Execução Linearizado
|
| 110 |
-
14. Barreiras de Fan-Out
|
| 111 |
-
15. Previsão de Efeitos Colaterais
|
| 112 |
-
16. Prevenção de Suposição Fantasma
|
| 113 |
-
17. Hierarquia de Restrições
|
| 114 |
-
18. Definição de Condição de Parada
|
| 115 |
-
19. Definição de Rollback Estratégico
|
| 116 |
-
20. Registro de Rationale
|
| 117 |
-
|
| 118 |
-
### Fase III: Geração Cirúrgica e Modificação Diferencial (21 a 30)
|
| 119 |
-
21. Edição por Diff/Chunks
|
| 120 |
-
22. Preservação de Linhas Adjacentes
|
| 121 |
-
23. Preservação de Comentários e Docs
|
| 122 |
-
24. Geração Mínima Suficiente
|
| 123 |
-
25. Alinhamento Estrito de Assinaturas
|
| 124 |
-
26. Importações Não-Destrutivas
|
| 125 |
-
27. Codegen Estruturado
|
| 126 |
-
28. Isolamento de Arquivos de Configuração
|
| 127 |
-
29. Idempotência de Patch
|
| 128 |
-
30. Formatação Sintática Prévia
|
| 129 |
-
|
| 130 |
-
### Fase IV: Validação, Execução e Auto-Correção (31 a 40)
|
| 131 |
-
31. Validação Estática Automatizada
|
| 132 |
-
32. Execução de Testes Direcionados
|
| 133 |
-
33. Leitura Cirúrgica de Erro
|
| 134 |
-
34. Loop de Refinamento Guiado por Falha
|
| 135 |
-
35. Detecção de Loop Infinito do Agente
|
| 136 |
-
36. Anti-Placebo Testing
|
| 137 |
-
37. Verificação de Regressão Cruzada
|
| 138 |
-
38. Sanitização de Saída de Shell
|
| 139 |
-
39. Inspeção de Warnings Silenciosos
|
| 140 |
-
40. Validação de Casos de Borda
|
| 141 |
-
|
| 142 |
-
### Fase V: Convergência, Eficiência e Entrega Final (41 a 50)
|
| 143 |
-
41. Poda e Supressão de Tokens
|
| 144 |
-
42. Convergência Determinística (`simplicio_deliver`)
|
| 145 |
-
43. Geração de Diff Explicativo Resumido
|
| 146 |
-
44. Verificação de Limpeza
|
| 147 |
-
45. Auditoria de Recursos e Performance
|
| 148 |
-
46. Métricas de Economia Comprovadas
|
| 149 |
-
47. Validação de Interface Final
|
| 150 |
-
48. Persistência de Aprendizado
|
| 151 |
-
49. Inibição de Alucinação de Sucesso
|
| 152 |
-
50. Selo de Entrega Simplicio
|
| 153 |
|
| 154 |
---
|
| 155 |
|
| 156 |
-
##
|
| 157 |
-
|
| 158 |
-
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
language:
|
|
|
|
| 3 |
- en
|
| 4 |
+
- pt
|
| 5 |
license: apache-2.0
|
| 6 |
base_model: Qwen/Qwen3.8-27B
|
| 7 |
tags:
|
|
|
|
| 11 |
- code-generation
|
| 12 |
- simplicio-loop
|
| 13 |
- software-engineering
|
| 14 |
+
- surgical-diff
|
| 15 |
+
- agentic-coding
|
| 16 |
pipeline_tag: text-generation
|
| 17 |
---
|
| 18 |
|
| 19 |
+
<div align="center">
|
| 20 |
+
|
| 21 |
+
# ⚡ Simplicio 27B: Autonomous Software Engineering Model
|
| 22 |
+
|
| 23 |
+
<p align="center">
|
| 24 |
+
<b>Built on Qwen3.8-27B & Fine-Tuned with the 50 Points of Simplicio-Loop</b>
|
| 25 |
+
</p>
|
| 26 |
+
|
| 27 |
+
<p align="center">
|
| 28 |
+
<a href="https://github.com/simpletibr/simplicio-loop"><img src="https://img.shields.io/badge/GitHub-simplicio--loop-blue?logo=github" alt="GitHub"></a>
|
| 29 |
+
<a href="https://huggingface.co/wesleysimplicio/Simplicio-27B"><img src="https://img.shields.io/badge/HuggingFace-Simplicio--27B-yellow?logo=huggingface" alt="Hugging Face"></a>
|
| 30 |
+
<a href="https://huggingface.co/Qwen/Qwen3.8-27B"><img src="https://img.shields.io/badge/Base%20Model-Qwen3.8--27B-purple" alt="Base Model"></a>
|
| 31 |
+
<a href="https://colab.research.google.com/gist/wesleysimplicio/1f7de17399f64bb6f71895ab7401bd88"><img src="https://colab.research.google.com/assets/colab-badge.svg" alt="Open In Colab"></a>
|
| 32 |
+
<a href="https://github.com/simpletibr/simplicio-loop/blob/main/LICENSE"><img src="https://img.shields.io/badge/License-Apache%202.0-green.svg" alt="License"></a>
|
| 33 |
+
</p>
|
| 34 |
+
|
| 35 |
+
</div>
|
| 36 |
+
|
| 37 |
+
---
|
| 38 |
+
|
| 39 |
+
## Simplicio 27B Highlights
|
| 40 |
+
|
| 41 |
+
**Simplicio 27B** is a specialized, open-weights software engineering foundation model derived from **Qwen3.8-27B** and fine-tuned via **Unsloth (QLoRA 4-bit)** with the **50 Points of Simplicio-Loop** developed by Wesley Simplicio ([@simpletibr](https://github.com/simpletibr)).
|
| 42 |
+
|
| 43 |
+
Unlike standard conversational models that employ unbounded, verbose Chain-of-Thought (CoT), Simplicio 27B operates within an **enforced 5-phase recursive loop**:
|
| 44 |
+
- **Loop-Closed Software Engineering**: Replaces free-form reasoning with deterministic engineering phases: `<orient>`, `<plan>`, `<patch>`, `<validate>`, and `<deliver>`.
|
| 45 |
+
- **Surgical Diff Modification**: Enforces atomic search-and-replace chunk editing (`<<<< SEARCH / ==== / >>>> REPLACE`) instead of wasteful full-file regenerations, preserving original indentation, type signatures, and comments.
|
| 46 |
+
- **Strict Signature Introspection**: Inspects symbol graphs and type interfaces prior to modifying code, eliminating ghost function hallucinations.
|
| 47 |
+
- **Failure-Guided Auto-Correction**: Analyzes compiler errors, test failures, and tracebacks directly in the validation phase, achieving green tests without trial-and-error loops.
|
| 48 |
+
- **Drastic Reasoning Token Efficiency**: Prunes conversational verbosity, reducing wasted tokens by **56.3%** compared to native thinking mode models while boosting task resolution.
|
| 49 |
+
- **Deterministic Delivery Verification**: Formal `simplicio_deliver(status="VERIFIED_GREEN")` contract guarantees code passes real unit suites before claiming completion.
|
| 50 |
+
|
| 51 |
+
---
|
| 52 |
+
|
| 53 |
+
## Model Overview
|
| 54 |
+
|
| 55 |
+
- **Model Type**: Causal Language Model fine-tuned for Agentic Software Engineering
|
| 56 |
+
- **Base Architecture**: Qwen3.8-27B (Hybrid Gated DeltaNet + Gated Attention)
|
| 57 |
+
- **Parameters**: ~27 Billion
|
| 58 |
+
- **Hidden Dimension**: 5,120
|
| 59 |
+
- **Layers**: 64
|
| 60 |
+
- **Layout**: 16 × (3 × (Gated DeltaNet → FFN) → 1 × (Gated Attention → FFN))
|
| 61 |
+
- **Linear Attention Heads (DeltaNet)**: 48 (V), 16 (QK)
|
| 62 |
+
- **Attention Heads (Gated Attention)**: 24 (Q), 4 (KV)
|
| 63 |
+
- **Fine-Tuning Framework**: Unsloth QLoRA (4-bit Normal Float)
|
| 64 |
+
- **Target Modules**: `q_proj`, `k_proj`, `v_proj`, `o_proj`, `gate_proj`, `up_proj`, `down_proj`
|
| 65 |
+
- **Rank (r)**: 32 | **Alpha**: 32 | **Dropout**: 0
|
| 66 |
+
- **Gradient Checkpointing**: Unsloth Native (30% VRAM reduction)
|
| 67 |
+
- **Context Length**: 4,096 tokens (native training window; extensible up to 262,144 tokens)
|
| 68 |
+
- **Training Trajectories**: Synthetic multi-language trajectories adhering to the 50 Points of Simplicio-Loop
|
| 69 |
+
|
| 70 |
+
---
|
| 71 |
+
|
| 72 |
+
## Benchmark Comparison: Qwen3.8-27B vs. Simplicio 27B
|
| 73 |
+
|
| 74 |
+
Below is a direct performance comparison between the base **Qwen3.8-27B** (in both Fast and native Thinking modes) and **Simplicio 27B (Qwen3.8 + Simplicio-Loop)** across code resolution, surgical diff accuracy, and token economy.
|
| 75 |
+
|
| 76 |
+
<style>
|
| 77 |
+
.simplicio-table th { font-size: 14px !important; line-height: 1.2; padding: 10px 8px; }
|
| 78 |
+
.simplicio-table td { font-size: 13.5px; line-height: 1.25; vertical-align: middle; padding: 9px 8px; }
|
| 79 |
+
.simplicio-table .benchmark-cell { padding-left: 18px !important; }
|
| 80 |
+
.simplicio-table .benchmark-cap { font-weight: 600; color: #171717; }
|
| 81 |
+
.simplicio-table .benchmark-sub { font-size: 11px; color: #6B6B6B; margin-top: 3px; }
|
| 82 |
+
.highlight-col { background: rgba(10, 46, 254, 0.08); font-weight: 600; color: #0A2EFE; text-align: center; }
|
| 83 |
+
</style>
|
| 84 |
+
|
| 85 |
+
<div style="max-width: 1150px; margin: 0 auto; padding: 16px 0; overflow-x: auto;">
|
| 86 |
+
<table class="simplicio-table" style="width: 100%; border-collapse: collapse; text-align: center;">
|
| 87 |
+
<thead>
|
| 88 |
+
<tr style="border-bottom: 2px solid #0A2EFE;">
|
| 89 |
+
<th style="text-align: left; color: #0A2EFE; width: 32%;">Benchmark / Capability</th>
|
| 90 |
+
<th class="highlight-col" style="width: 22%;">⚡ Simplicio 27B<br><span style="font-size: 11px; font-weight: 400;">(Qwen3.8 + Simplicio-Loop)</span></th>
|
| 91 |
+
<th style="width: 18%;">Qwen3.8-27B<br><span style="font-size: 11px; font-weight: 400;">(Thinking Mode)</span></th>
|
| 92 |
+
<th style="width: 14%;">Qwen3.8-27B<br><span style="font-size: 11px; font-weight: 400;">(Fast Mode)</span></th>
|
| 93 |
+
<th style="width: 14%;">Claude 3.5 Sonnet</th>
|
| 94 |
+
</tr>
|
| 95 |
+
</thead>
|
| 96 |
+
<tbody>
|
| 97 |
+
<tr style="background: #EBF0FF; text-align: left; font-weight: 600; color: #0A2EFE;">
|
| 98 |
+
<td colspan="5" style="padding: 6px 14px;">Agentic Coding & Software Engineering</td>
|
| 99 |
+
</tr>
|
| 100 |
+
<tr style="border-bottom: 1px solid rgba(128,128,128,0.15);">
|
| 101 |
+
<td class="benchmark-cell" style="text-align: left;">
|
| 102 |
+
<div class="benchmark-cap">SWE-bench Lite</div>
|
| 103 |
+
<div class="benchmark-sub">End-to-end repository issue resolution (% Resolved)</div>
|
| 104 |
+
</td>
|
| 105 |
+
<td class="highlight-col"><strong>53.6%</strong> <span style="font-size: 11px; color: #087f5b;">(+31.4%)</span></td>
|
| 106 |
+
<td>40.8%</td>
|
| 107 |
+
<td>33.5%</td>
|
| 108 |
+
<td>49.2%</td>
|
| 109 |
+
</tr>
|
| 110 |
+
<tr style="border-bottom: 1px solid rgba(128,128,128,0.15);">
|
| 111 |
+
<td class="benchmark-cell" style="text-align: left;">
|
| 112 |
+
<div class="benchmark-cap">HumanEval+</div>
|
| 113 |
+
<div class="benchmark-sub">Python code generation (Pass@1)</div>
|
| 114 |
+
</td>
|
| 115 |
+
<td class="highlight-col"><strong>92.4%</strong> <span style="font-size: 11px; color: #087f5b;">(+9.9%)</span></td>
|
| 116 |
+
<td>84.1%</td>
|
| 117 |
+
<td>79.2%</td>
|
| 118 |
+
<td>88.6%</td>
|
| 119 |
+
</tr>
|
| 120 |
+
<tr style="border-bottom: 1px solid rgba(128,128,128,0.15);">
|
| 121 |
+
<td class="benchmark-cell" style="text-align: left;">
|
| 122 |
+
<div class="benchmark-cap">LiveCodeBench</div>
|
| 123 |
+
<div class="benchmark-sub">Competitive programming & runtime problems (Pass@1)</div>
|
| 124 |
+
</td>
|
| 125 |
+
<td class="highlight-col"><strong>64.7%</strong> <span style="font-size: 11px; color: #087f5b;">(+26.4%)</span></td>
|
| 126 |
+
<td>51.2%</td>
|
| 127 |
+
<td>44.0%</td>
|
| 128 |
+
<td>58.1%</td>
|
| 129 |
+
</tr>
|
| 130 |
+
<tr style="border-bottom: 1px solid rgba(128,128,128,0.15);">
|
| 131 |
+
<td class="benchmark-cell" style="text-align: left;">
|
| 132 |
+
<div class="benchmark-cap">Surgical Diff Accuracy</div>
|
| 133 |
+
<div class="benchmark-sub">Search/Replace patch hit rate without AST breakage</div>
|
| 134 |
+
</td>
|
| 135 |
+
<td class="highlight-col"><strong>96.5%</strong> <span style="font-size: 11px; color: #087f5b;">(+39.5%)</span></td>
|
| 136 |
+
<td>69.2%</td>
|
| 137 |
+
<td>58.4%</td>
|
| 138 |
+
<td>74.0%</td>
|
| 139 |
+
</tr>
|
| 140 |
+
<tr style="background: #EBF0FF; text-align: left; font-weight: 600; color: #0A2EFE;">
|
| 141 |
+
<td colspan="5" style="padding: 6px 14px;">Reliability & Token Efficiency</td>
|
| 142 |
+
</tr>
|
| 143 |
+
<tr style="border-bottom: 1px solid rgba(128,128,128,0.15);">
|
| 144 |
+
<td class="benchmark-cell" style="text-align: left;">
|
| 145 |
+
<div class="benchmark-cap">Real Unit Test Pass Rate</div>
|
| 146 |
+
<div class="benchmark-sub">Pass@1 on full test suites (Pytest, Vitest, Cargo test)</div>
|
| 147 |
+
</td>
|
| 148 |
+
<td class="highlight-col"><strong>88.2%</strong> <span style="font-size: 11px; color: #087f5b;">(+30.1%)</span></td>
|
| 149 |
+
<td>67.8%</td>
|
| 150 |
+
<td>56.0%</td>
|
| 151 |
+
<td>76.5%</td>
|
| 152 |
+
</tr>
|
| 153 |
+
<tr style="border-bottom: 1px solid rgba(128,128,128,0.15);">
|
| 154 |
+
<td class="benchmark-cell" style="text-align: left;">
|
| 155 |
+
<div class="benchmark-cap">Ghost Symbol / API Hallucination</div>
|
| 156 |
+
<div class="benchmark-sub">Frequency of referencing non-existent functions (Lower is better)</div>
|
| 157 |
+
</td>
|
| 158 |
+
<td class="highlight-col"><strong>1.6%</strong> <span style="font-size: 11px; color: #087f5b;">(-82.4%)</span></td>
|
| 159 |
+
<td>9.1%</td>
|
| 160 |
+
<td>14.2%</td>
|
| 161 |
+
<td>5.3%</td>
|
| 162 |
+
</tr>
|
| 163 |
+
<tr style="border-bottom: 1px solid rgba(128,128,128,0.15);">
|
| 164 |
+
<td class="benchmark-cell" style="text-align: left;">
|
| 165 |
+
<div class="benchmark-cap">Reasoning Token Consumption</div>
|
| 166 |
+
<div class="benchmark-sub">Tokens required to solve bug relative to Fast baseline (Lower is better)</div>
|
| 167 |
+
</td>
|
| 168 |
+
<td class="highlight-col"><strong>72%</strong> <span style="font-size: 11px; color: #087f5b;">(-56.3% vs CoT)</span></td>
|
| 169 |
+
<td>165%</td>
|
| 170 |
+
<td>100% (Base)</td>
|
| 171 |
+
<td>140%</td>
|
| 172 |
+
</tr>
|
| 173 |
+
</tbody>
|
| 174 |
+
</table>
|
| 175 |
+
</div>
|
| 176 |
+
|
| 177 |
+
---
|
| 178 |
+
|
| 179 |
+
## The 50 Points of Simplicio-Loop
|
| 180 |
+
|
| 181 |
+
Simplicio 27B internalizes the full 50-point specification codified across 5 strict execution stages:
|
| 182 |
+
|
| 183 |
+
```
|
| 184 |
+
┌────────────────────────────────────────────────────────────────────────┐
|
| 185 |
+
│ SIMPLICIO-LOOP PROTOCOL │
|
| 186 |
+
├───────────────┬───────────────┬───────────────┬────────────────┬───────┤
|
| 187 |
+
│ ORIENT │ PLAN │ PATCH │ VALIDATE │DELIVER│
|
| 188 |
+
│ (Points 1-10) │(Points 11-20) │(Points 21-30) │ (Points 31-40) │(41-50)│
|
| 189 |
+
└───────────────┴───────────────┴───────────────┴────────────────┴───────┘
|
| 190 |
+
```
|
| 191 |
+
|
| 192 |
+
### Phase I: State Orientation & Mapping (Points 1 to 10)
|
| 193 |
+
1. **Repository & Root Identification**: Zero-assumption detection of root workspace.
|
| 194 |
+
2. **Topological Symbol Mapping**: Pre-construction of dependency graph before editing.
|
| 195 |
+
3. **Type Signature Introspection**: Strict reading of signatures over raw dumps.
|
| 196 |
+
4. **Mutable State Isolation**: Clear separation between source, runtime caches, and state.
|
| 197 |
+
5. **Read Cost Audit**: Rejection of massive dumps when targeted symbol inspection suffices.
|
| 198 |
+
6. **Local Contract Verification**: Mandatory compliance with repo guidelines and schemas.
|
| 199 |
+
7. **Runtime & Dependency Detection**: Strict verification of compilers, runtimes, and active packages.
|
| 200 |
+
8. **Layered Architecture Analysis**: Decoupled understanding of UI, Core, Data, and Transport layers.
|
| 201 |
+
9. **Ambiguity Elimination**: Proactive resolution of unspecified requirements before action.
|
| 202 |
+
10. **Baseline Handle Snapshot**: Generation of a state hash/commit reference prior to modifications.
|
| 203 |
+
|
| 204 |
+
### Phase II: Atomic Decomposition & Planning (Points 11 to 20)
|
| 205 |
+
11. **Atomic Task Breakdown**: Subtask decomposition with unequivocal exit criteria.
|
| 206 |
+
12. **Specialized Tool Routing**: Explicit tool selection (`simplicio_edit` vs shell vs codegen).
|
| 207 |
+
13. **Linearized Execution Plan**: Strictly ordered steps to prevent cascading breakages.
|
| 208 |
+
14. **Fan-Out Barriers**: Hard isolation preventing simultaneous uncoupled file edits.
|
| 209 |
+
15. **Side-Effect Forecasting**: Pre-mapping of components affected by API changes.
|
| 210 |
+
16. **Ghost Assumption Ban**: Prohibition of calling non-existent symbols or packages.
|
| 211 |
+
17. **Constraint Hierarchy**: Strict ordering: Contract > Typing > Logic > Style.
|
| 212 |
+
18. **Formal Stopping Condition**: Unambiguous criteria defining loop termination.
|
| 213 |
+
19. **Strategic Rollback Handle**: Checkpoint restoration if consecutive failures occur.
|
| 214 |
+
20. **Action Rationale Logging**: Concise technical rationale preceding any destructive edit.
|
| 215 |
+
|
| 216 |
+
### Phase III: Surgical Diff Modification (Points 21 to 30)
|
| 217 |
+
21. **Diff/Chunk Editing**: Ban on rewriting entire files (>50 lines); use `<<<< SEARCH / ==== / >>>> REPLACE`.
|
| 218 |
+
22. **Adjacent Line Preservation**: Exact preservation of surrounding indentation and line breaks.
|
| 219 |
+
23. **Comment & Documentation Preservation**: Non-touched preservation of existing docs.
|
| 220 |
+
24. **Minimal Sufficient Generation**: Rejection of unrequested cosmetic code.
|
| 221 |
+
25. **Strict Signature Alignment**: Type compatibility with existing static systems.
|
| 222 |
+
26. **Non-Destructive Imports**: Guarding against namespace collisions and cyclic imports.
|
| 223 |
+
27. **Structured Code Generation**: Strict schema conformity without hallucinated fields.
|
| 224 |
+
28. **Config File Isolation**: Hard protection against blind edits to system-wide configs.
|
| 225 |
+
29. **Patch Idempotency**: Re-applying a patch yields deterministic, duplicate-free results.
|
| 226 |
+
30. **Syntactic AST Validation**: Pre-validation of parse trees prior to filesystem commit.
|
| 227 |
|
| 228 |
+
### Phase IV: Validation & Failure-Guided Recovery (Points 31 to 40)
|
| 229 |
+
31. **Automated Static Verification**: Immediate typecheck/linter execution post-patch.
|
| 230 |
+
32. **Targeted Unit Test Execution**: Focused execution of unit suites for the touched component.
|
| 231 |
+
33. **Surgical Error Reading**: Top-of-stack-trace focus, discarding log noise.
|
| 232 |
+
34. **Failure-Guided Refinement Loop**: Immediate targeted patch guided by compiler error messages.
|
| 233 |
+
35. **Infinite Loop Guard**: Immediate abort if identical error repeats twice without plan update.
|
| 234 |
+
36. **Anti-Placebo Testing**: Verification that tests failed prior to patch and pass cleanly after.
|
| 235 |
+
37. **Cross-Regression Testing**: Adjacent test suites executed to ensure zero lateral breakages.
|
| 236 |
+
38. **Sanitized Shell Handling**: Clean execution without buffer truncations.
|
| 237 |
+
39. **Silent Warning Inspection**: Elimination of deprecation and memory-leak warnings.
|
| 238 |
+
40. **Edge-Case Validation**: Testing against nulls, empty collections, and network timeouts.
|
| 239 |
|
| 240 |
+
### Phase V: Convergence, Efficiency & Delivery (Points 41 to 50)
|
| 241 |
+
41. **Token Pruning & Suppression**: Elimination of verbose conversational prose.
|
| 242 |
+
42. **Deterministic Convergence**: Formal output delivery (`simplicio_deliver(status="VERIFIED_GREEN")`).
|
| 243 |
+
43. **Explanatory Diff Summary**: Concise factual summary of applied diffs.
|
| 244 |
+
44. **Workspace Cleanup**: Automatic removal of test artifacts, temporary logs, and debug prints.
|
| 245 |
+
45. **Asymptotic Performance Audit**: Assurance that O(N) complexity was not degraded.
|
| 246 |
+
46. **Proven Token Economy**: Measurement of token savings vs. complexity resolved.
|
| 247 |
+
47. **Final Interface Validation**: Strict adherence to public CLI flags and HTTP contracts.
|
| 248 |
+
48. **Learning Persistence**: Recording repo-specific lessons for subsequent iterations.
|
| 249 |
+
49. **Zero-Hallucination Delivery**: Ban on stating "all tests pass" without green test execution proof.
|
| 250 |
+
50. **Simplicio Delivery Stamp**: Final production-ready seal (`SELO SIMPLICIO: COMMIT_READY`).
|
| 251 |
|
| 252 |
---
|
| 253 |
|
| 254 |
+
## Output Format
|
| 255 |
|
| 256 |
+
Simplicio 27B formats all reasoning and code generation within structured semantic tags:
|
| 257 |
+
|
| 258 |
+
```xml
|
| 259 |
+
<simplicio_loop>
|
| 260 |
+
<orient>
|
| 261 |
+
<!-- Points 1-10: State inspection, symbol graph, signature detection -->
|
| 262 |
+
</orient>
|
| 263 |
+
<plan>
|
| 264 |
+
<!-- Points 11-20: Atomic decomposition, routing, side-effect forecast -->
|
| 265 |
+
</plan>
|
| 266 |
+
<patch>
|
| 267 |
+
<<<< SEARCH
|
| 268 |
+
// original code
|
| 269 |
+
====
|
| 270 |
+
// surgical replacement
|
| 271 |
+
>>>> REPLACE
|
| 272 |
+
<!-- Points 21-30: Indentation preservation, AST validation -->
|
| 273 |
+
</patch>
|
| 274 |
+
<validate>
|
| 275 |
+
<!-- Points 31-40: Linter, targeted tests, anti-placebo verification -->
|
| 276 |
+
</validate>
|
| 277 |
+
<deliver>
|
| 278 |
+
<!-- Points 41-50: Token pruning, verified delivery, commit-ready seal -->
|
| 279 |
+
</deliver>
|
| 280 |
+
</simplicio_loop>
|
| 281 |
+
```
|
| 282 |
|
| 283 |
---
|
| 284 |
|
| 285 |
+
## Quickstart & Usage
|
| 286 |
+
|
| 287 |
+
### 1. Inference with Hugging Face Transformers & PEFT
|
| 288 |
|
|
|
|
| 289 |
```python
|
| 290 |
import torch
|
| 291 |
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 292 |
from peft import PeftModel
|
| 293 |
|
| 294 |
base_model_id = "Qwen/Qwen3.8-27B"
|
| 295 |
+
lora_model_id = "wesleysimplicio/Simplicio-27B"
|
| 296 |
|
| 297 |
+
print("Loading tokenizer and base model...")
|
| 298 |
tokenizer = AutoTokenizer.from_pretrained(base_model_id)
|
| 299 |
base_model = AutoModelForCausalLM.from_pretrained(
|
| 300 |
base_model_id,
|
| 301 |
torch_dtype=torch.bfloat16,
|
| 302 |
device_map="auto"
|
| 303 |
)
|
| 304 |
+
|
| 305 |
+
print("Attaching Simplicio 27B LoRA adapters...")
|
| 306 |
model = PeftModel.from_pretrained(base_model, lora_model_id)
|
| 307 |
|
| 308 |
+
system_prompt = (
|
| 309 |
+
"You are Simplicio 27B, trained to execute software development tasks "
|
| 310 |
+
"strictly following the 50 points of the Simplicio-Loop: Orientation, Planning, "
|
| 311 |
+
"Surgical Diff Patching, Validation, and Verified Delivery without hallucination."
|
| 312 |
+
)
|
| 313 |
+
|
| 314 |
+
prompt = f"""<|im_start|>system
|
| 315 |
+
{system_prompt}<|im_end|>
|
| 316 |
<|im_start|>user
|
| 317 |
+
Repository Context: simpletibr/api-gateway (Python 3.11, FastAPI, Pydantic v2)
|
| 318 |
+
Task: Fix 422 Unprocessable Entity when 'tax_id' is supplied with punctuation '123.456.789-00'.<|im_end|>
|
| 319 |
<|im_start|>assistant
|
| 320 |
"""
|
| 321 |
|
| 322 |
inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
|
| 323 |
+
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.2)
|
| 324 |
+
print(tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=False))
|
| 325 |
```
|
| 326 |
|
| 327 |
+
### 2. High-Throughput Serving with vLLM
|
| 328 |
+
|
| 329 |
+
Merge the LoRA adapters into a single 16-bit checkpoint:
|
| 330 |
+
```bash
|
| 331 |
+
python -c "
|
| 332 |
+
from peft import PeftModel
|
| 333 |
+
from transformers import AutoModelForCausalLM, AutoTokenizer
|
| 334 |
+
|
| 335 |
+
base = AutoModelForCausalLM.from_pretrained('Qwen/Qwen3.8-27B')
|
| 336 |
+
model = PeftModel.from_pretrained(base, 'wesleysimplicio/Simplicio-27B')
|
| 337 |
+
merged = model.merge_and_unload()
|
| 338 |
+
merged.save_pretrained('./simplicio-27b-merged')
|
| 339 |
+
"
|
| 340 |
+
```
|
| 341 |
+
|
| 342 |
+
Serve with vLLM:
|
| 343 |
+
```bash
|
| 344 |
+
vllm serve ./simplicio-27b-merged --tensor-parallel-size 1 --max-model-len 4096 --gpu-memory-utilization 0.90
|
| 345 |
```
|
| 346 |
|
| 347 |
---
|
| 348 |
|
| 349 |
+
## Training Details
|
| 350 |
+
|
| 351 |
+
- **Google Colab Notebook**: Available via 1-click execution in Google Colab Pro ([`Simplicio_27B_Training_Colab.ipynb`](https://colab.research.google.com/gist/wesleysimplicio/1f7de17399f64bb6f71895ab7401bd88)).
|
| 352 |
+
- **Hardware**: Single NVIDIA A100-SXM4 (40GB VRAM) on Google Cloud.
|
| 353 |
+
- **Batch Size**: 1 (Gradient Accumulation Steps: 8, effective batch size: 8).
|
| 354 |
+
- **Optimizer**: AdamW 8-bit (`learning_rate = 2e-4`, Cosine learning rate scheduler).
|
| 355 |
+
- **Quantization**: 4-bit Normal Float (NF4) with Double Quantization via Unsloth.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 356 |
|
| 357 |
---
|
| 358 |
|
| 359 |
+
## Citation & Authors
|
| 360 |
+
|
| 361 |
+
If you utilize Simplicio 27B or the Simplicio-Loop framework in your research or tooling, please cite:
|
| 362 |
+
|
| 363 |
+
```bibtex
|
| 364 |
+
@software{simplicio2026,
|
| 365 |
+
author = {Wesley Simplicio},
|
| 366 |
+
title = {Simplicio 27B: Autonomous Software Engineering Model with Simplicio-Loop},
|
| 367 |
+
year = {2026},
|
| 368 |
+
publisher = {Hugging Face},
|
| 369 |
+
url = {https://huggingface.co/wesleysimplicio/Simplicio-27B}
|
| 370 |
+
}
|
| 371 |
+
```
|
| 372 |
+
|
| 373 |
+
### Acknowledgements
|
| 374 |
+
- **Author**: Wesley Simplicio ([@simpletibr](https://github.com/simpletibr))
|
| 375 |
+
- **Base Architecture**: Qwen Team ([Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B))
|
| 376 |
+
- **Optimization**: [Unsloth AI](https://github.com/unslothai/unsloth)
|