Mermaid Diagram Generator - Qwen2.5-Coder-7B

This model generates valid Mermaid diagram code from natural language descriptions.

Model Details

  • Base Model: Qwen2.5-Coder-7B
  • Fine-tuned on: Custom Mermaid diagram dataset
  • Training Time: ~30 minutes
  • Training Cost: ~$0.25
  • Final Loss: 0.2934
  • Framework: Unsloth + LoRA

Supported Diagram Types

  • βœ… Flowcharts
  • βœ… Sequence Diagrams
  • βœ… Class Diagrams
  • βœ… State Diagrams
  • βœ… ER Diagrams

Usage

from unsloth import FastLanguageModel

# Load model
model, tokenizer = FastLanguageModel.from_pretrained(
    "Azandra98/mermaid-diagram-generator-qwen2.5-7b",
    max_seq_length=2048,
    dtype=None,
    load_in_4bit=True,
)
FastLanguageModel.for_inference(model)

# Generate diagram
def generate_mermaid(instruction):
    prompt = f"""Below is an instruction that describes a task. Write a response that appropriately completes the request.

### Instruction:
{instruction}. Generate only valid Mermaid code.

### Response:
"""
    
    inputs = tokenizer([prompt], return_tensors="pt").to("cuda")
    
    outputs = model.generate(
        **inputs,
        max_new_tokens=280,
        temperature=0.45,
        top_p=0.9,
        repetition_penalty=1.15,
        do_sample=True,
        pad_token_id=tokenizer.eos_token_id,
        eos_token_id=tokenizer.eos_token_id,
    )
    
    return tokenizer.decode(outputs[0], skip_special_tokens=True)

# Example
diagram = generate_mermaid("flowchart for user login process")
print(diagram)

Example Outputs

Flowchart

Prompt: "simple flowchart showing user login process"

graph TD
A[Start] --> B[Enter Username]
B --> C[Enter Password]
C --> D[Try to Login]
D -->|Success| E[Redirect Home Page]
D -->|Failure| F[Show Error Message]
F --> G[End]

Sequence Diagram

Prompt: "sequence diagram for placing an online order"

sequenceDiagram
participant Customer
participant Website
participant Payment Gateway
Customer ->> Website: Browse Products
Website -->> Customer: Product Details
Customer ->> Website: Add to Cart
Customer ->> Website: Proceed to Checkout
Website ->> Payment Gateway: Process Payment
Payment Gateway -->> Website: Payment Confirmation
Website -->> Customer: Order Placed Successfully

Training Details

  • Method: LoRA (Low-Rank Adaptation)
  • Rank: 16
  • Alpha: 16
  • Epochs: 3
  • Batch Size: 2
  • Learning Rate: 2e-4
  • Optimizer: AdamW (8-bit)

Limitations

  • Best for simple to medium complexity diagrams
  • May require post-processing for very complex diagrams
  • Output should be validated at mermaid.live

License

Apache 2.0

Citation

@misc{mermaid-generator-qwen-2024,
  author = {Azandra98},
  title = {Mermaid Diagram Generator based on Qwen2.5-Coder-7B},
  year = {2024},
  publisher = {Hugging Face},
  howpublished = {\url{https://huggingface.co/Azandra98/mermaid-diagram-generator-qwen2.5-7b}}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for Azandra98/mermaid-diagram-generator-qwen2.5-7b

Base model

Qwen/Qwen2.5-7B
Finetuned
(8)
this model