EnigmaCoder 2B

EnigmaCoder 2B is the first model in the EnigmaCoder AI engineering ecosystem β€” developed to power intelligent software engineering workflows within the EnigmaCoder platform.

This model represents the beginning of a deliberate, long-term effort to build AI that understands software the way engineers do: not just generating code, but reasoning through problems, navigating codebases, and supporting the full engineering lifecycle.


Overview

EnigmaCoder 2B is a fine-tuned language model built on Google Gemma-4-E2B-IT, specialized for software engineering tasks including code generation, explanation, debugging, and reasoning.

Rather than relying entirely on external AI providers, EnigmaCoder is developing its own model stack. EnigmaCoder 2B is the foundation of that effort β€” a model we own, control, and will continue to develop as part of our broader AI engineering architecture.

Property Value
Base Model google/gemma-4-e2b-it
Parameters ~2B
Architecture Gemma-4 Transformer
Precision Float16
Context Window 128K tokens
Fine-tuning Method QLoRA (4-bit) β†’ merged to full weights
License Gemma License

Our Vision

EnigmaCoder is being built around a core engineering workflow:

PLAN β†’ CODE β†’ RUN β†’ DEBUG β†’ VERIFY

Every stage of this workflow benefits from AI that understands software engineering deeply β€” not just syntax, but intent, structure, and consequence.

EnigmaCoder 2B is our first step toward an AI that can participate meaningfully at each stage. As the model matures and the platform evolves, it will become more deeply integrated into the EnigmaCoder IDE, eventually serving as the reasoning core behind agentic engineering workflows.


Core Focus Areas

EnigmaCoder 2B has been trained and evaluated with a focus on:

  • Code Generation β€” Writing correct, idiomatic Python and general-purpose code from natural language descriptions
  • Code Understanding β€” Explaining what code does, why it works, and how it fits into larger systems
  • Debugging Assistance β€” Identifying errors, suggesting fixes, and reasoning about failure modes
  • Software Reasoning β€” Thinking through architectural decisions, design patterns, and engineering tradeoffs
  • Technical Q&A β€” Answering developer questions across databases, APIs, algorithms, and system design

Why We Are Building EnigmaCoder

Most AI-assisted development tools depend entirely on third-party model providers. EnigmaCoder is taking a different path:

Control β€” We own the model weights and can update, retrain, and specialize them without dependency on external APIs.

Specialization β€” We can fine-tune continuously on software engineering data that reflects real developer workflows, not general internet text.

Integration β€” A model we control can be embedded directly into EnigmaCoder IDE at every layer β€” from autocomplete to autonomous agents.

Research β€” Building our own model lets us experiment with reasoning, tool use, and agentic workflows in ways that closed models do not permit.

Long-term flexibility β€” As the platform grows, the model grows with it. We are not locked into any provider's roadmap.

EnigmaCoder 2B is not a prototype. It is the first iteration of an ongoing development program.


Training and Development

EnigmaCoder 2B was developed through the following process:

  • Base: Google Gemma-4-E2B-IT β€” a capable instruction-tuned foundation
  • Fine-tuning method: QLoRA with 4-bit quantization during training, merged to full Float16 weights for inference
  • Training data: Curated conversational coding and reasoning data focused on software engineering tasks
  • LoRA configuration: Rank 32, Alpha 64, targeting all linear layers
  • Training: 3 epochs, learning rate 1e-4 with cosine schedule, sequence length 1024

The LoRA adapter weights have been merged into the base model. The published model requires no PEFT library for inference β€” it loads as a standard Transformers model.


Quick Start

from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

model_id = "enigmacoder/EnigmaCoder-2B"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype=torch.float16,
    device_map="auto",
)

def ask(question):
    prompt = f"<start_of_turn>user\n{question}<end_of_turn>\n<start_of_turn>model\n"
    inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
    with torch.no_grad():
        output = model.generate(
            **inputs,
            max_new_tokens=512,
            do_sample=False,
            repetition_penalty=1.2,
            pad_token_id=tokenizer.eos_token_id,
        )
    return tokenizer.decode(
        output[0][inputs["input_ids"].shape[1]:],
        skip_special_tokens=True
    )

print(ask("Write a Python function that implements binary search with proper error handling."))

Intended Use Cases

EnigmaCoder 2B is designed for software engineering contexts:

  • Writing and completing Python functions, classes, and modules
  • Explaining existing code to developers unfamiliar with a codebase
  • Suggesting fixes for bugs and logic errors
  • Answering technical questions about algorithms, data structures, and system design
  • Assisting with SQL queries, API design, and backend development
  • Supporting developers who want a locally-runnable coding assistant

Integration with EnigmaCoder IDE

Current state: EnigmaCoder 2B is available as a standalone Hugging Face model. It can be loaded and queried through the standard Transformers interface.

Planned integration: EnigmaCoder IDE will integrate this model directly into the development environment, enabling:

  • In-editor code generation and completion
  • Contextual debugging assistance with access to the active file and error output
  • Agentic workflows that can read, write, and run code as part of the PLAN β†’ CODE β†’ RUN β†’ DEBUG β†’ VERIFY loop
  • A local inference mode for developers who want AI assistance without sending code to external servers

These integrations are in active development. The model published here is the AI foundation that will power them.


Responsible Use

EnigmaCoder 2B is intended for software engineering assistance. Users should:

  • Review generated code before deploying it to production
  • Not rely on the model for security-critical decisions without human verification
  • Be aware that the model may produce incorrect code or reasoning on complex or novel problems

This model is subject to the Gemma Terms of Use.


Acknowledgements and License

EnigmaCoder 2B is built on Google Gemma-4-E2B-IT and is subject to the Gemma License.

Training data includes publicly available instruction-following datasets curated for software engineering relevance.

Developed by the EnigmaCoder team.


EnigmaCoder 2B β€” built for engineers, by engineers.

Downloads last month
493
Safetensors
Model size
5B params
Tensor type
F16
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support