Instructions to use Azandra98/mermaid-diagram-generator-qwen2.5-7b with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Azandra98/mermaid-diagram-generator-qwen2.5-7b with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Azandra98/mermaid-diagram-generator-qwen2.5-7b")# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Azandra98/mermaid-diagram-generator-qwen2.5-7b", device_map="auto") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Azandra98/mermaid-diagram-generator-qwen2.5-7b with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Azandra98/mermaid-diagram-generator-qwen2.5-7b" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Azandra98/mermaid-diagram-generator-qwen2.5-7b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'Use Docker
docker model run hf.co/Azandra98/mermaid-diagram-generator-qwen2.5-7b
- SGLang
How to use Azandra98/mermaid-diagram-generator-qwen2.5-7b 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 "Azandra98/mermaid-diagram-generator-qwen2.5-7b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Azandra98/mermaid-diagram-generator-qwen2.5-7b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'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 "Azandra98/mermaid-diagram-generator-qwen2.5-7b" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Azandra98/mermaid-diagram-generator-qwen2.5-7b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }' - Unsloth Studio
How to use Azandra98/mermaid-diagram-generator-qwen2.5-7b with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Azandra98/mermaid-diagram-generator-qwen2.5-7b to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Azandra98/mermaid-diagram-generator-qwen2.5-7b to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Azandra98/mermaid-diagram-generator-qwen2.5-7b to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="Azandra98/mermaid-diagram-generator-qwen2.5-7b", max_seq_length=2048, ) - Docker Model Runner
How to use Azandra98/mermaid-diagram-generator-qwen2.5-7b with Docker Model Runner:
docker model run hf.co/Azandra98/mermaid-diagram-generator-qwen2.5-7b
How to use from
SGLangUse 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 "Azandra98/mermaid-diagram-generator-qwen2.5-7b" \
--host 0.0.0.0 \
--port 30000# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/completions" \
-H "Content-Type: application/json" \
--data '{
"model": "Azandra98/mermaid-diagram-generator-qwen2.5-7b",
"prompt": "Once upon a time,",
"max_tokens": 512,
"temperature": 0.5
}'Quick Links
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}}
}
Install from pip and serve model
# Install SGLang from pip: pip install sglang# Start the SGLang server: python3 -m sglang.launch_server \ --model-path "Azandra98/mermaid-diagram-generator-qwen2.5-7b" \ --host 0.0.0.0 \ --port 30000# Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Azandra98/mermaid-diagram-generator-qwen2.5-7b", "prompt": "Once upon a time,", "max_tokens": 512, "temperature": 0.5 }'