How to use from the
Use from the
Transformers library
# Use a pipeline as a high-level helper
from transformers import pipeline

pipe = pipeline("text-generation", model="qaztech-platform/QAZTECH-Azure-Engineer-8B")
messages = [
    {"role": "user", "content": "Who are you?"},
]
pipe(messages)
# pip install -U transformers accelerate
# Load model directly
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("qaztech-platform/QAZTECH-Azure-Engineer-8B")
model = AutoModelForCausalLM.from_pretrained("qaztech-platform/QAZTECH-Azure-Engineer-8B", device_map="auto")
messages = [
    {"role": "user", "content": "Who are you?"},
]
inputs = tokenizer.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(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:]))
Quick Links

QAZTECH® Azure Engineer 8B

Open multilingual assistant for Azure engineers. It writes, fixes, explains and converts infrastructure code, migrates ARM templates to Bicep or Terraform, reviews deployments for cost (FinOps tags Environment, CostCenter, Owner; lower-cost dev SKUs) and troubleshoots failed deployments from their error logs. Prose in English, Russian, Kazakh, Arabic and Spanish; code, commands and comments in English.

Tools: Azure CLI, Azure PowerShell, Bicep, ARM JSON, Terraform (azurerm, azapi), Azure Policy and custom RBAC roles, KQL, Azure Pipelines and GitHub Actions YAML.

Try it

ollama run qaztech-platform/azure-engineer
from transformers import AutoModelForCausalLM, AutoTokenizer
m = "qaztech-platform/QAZTECH-Azure-Engineer-8B"
tok = AutoTokenizer.from_pretrained(m)
model = AutoModelForCausalLM.from_pretrained(m, torch_dtype="auto", device_map="auto")
msgs = [{"role": "system", "content": "You are QAZTECH Azure Engineer, an assistant for Azure engineers. Reply in the user's language; keep code, commands and code comments in English."},
        {"role": "user", "content": "Migrate this ARM template to Bicep: ..."}]
ids = tok.apply_chat_template(msgs, add_generation_prompt=True, enable_thinking=False, return_tensors="pt").to(model.device)
print(tok.decode(model.generate(ids, max_new_tokens=1500)[0][ids.shape[1]:], skip_special_tokens=True))

Use enable_thinking=False: the model was trained without reasoning traces.

Evaluation

200 held-out examples (not used in training), same system prompt, temperature 0.3. Code blocks are checked with real tools: Azure CLI 2.89.1 (--help for every command and flag), Az PowerShell modules (cmdlets and parameters), Bicep CLI 0.48.1 (bicep build), Terraform 1.16.6 with azurerm 5.10.0 and azapi 2.13.0 (terraform validate).

Model Answer in the right language Reasoning-trace leaks Answers with all code valid Code blocks with errors
QAZTECH Azure Engineer 8B 99% 0 76% 21%
Qwen3-8B (base, same prompt) 98% 0 65% 22%

The held-out set comes from the same distribution as the training data, so these numbers measure in-distribution quality. Tool checks verify that commands, flags, parameters, resource types and properties exist; they do not verify values (for example VM size names).

Training

  • Base: Qwen/Qwen3-8B (Apache-2.0). LoRA r=16, alpha=32, dropout 0.05, all linear layers; 3 epochs, lr 1e-4 cosine, effective batch 32, max length 3,072; 1x A100 40 GB; merged into bf16 weights.
  • Held-out eval loss 0.461, token accuracy 0.865.
  • Data: 4,716 synthetic examples (4,516 train, 200 held out) generated from code samples in Microsoft Learn documentation (CC BY 4.0) by teacher models Qwen3-30B-A3B-Instruct-2507 (4,118 examples, run locally) and MiniMax M3.1 Flash via Ollama Cloud (598 examples). Terraform prompts included the authoritative azurerm 5.10 resource schema.
  • Every code block was checked with the tools listed above; failing examples were repaired with tool-grounded hints (913) or dropped. Language match, leak and duplicate filters applied.
  • Modes: troubleshoot 951, finops 868, fix 824, write 726, explain 717, convert 353, migrate 277. Languages: ar 996, ru 995, es 987, en 939, kk 799.

Limitations

  • Facts can be wrong: invented flags or parameters and wrong values (for example B2s instead of Standard_B2s) were observed. Verify every command against Microsoft Learn and run what-if / terraform plan before applying.
  • Terraform (54 examples) and Bicep (226) are less represented than Azure CLI, PowerShell and ARM.
  • Kazakh and Arabic output has not been reviewed by native speakers.
  • Not affiliated with or endorsed by Microsoft or HashiCorp.

Licence and attribution

Weights: Apache-2.0. Base model: Qwen3-8B by Alibaba Cloud (Apache-2.0). Teacher models: Qwen3-30B-A3B-Instruct-2507 (Apache-2.0) and MiniMax M3.1 Flash (accessed through Ollama Cloud). Source material: Microsoft Learn documentation, CC BY 4.0. Microsoft and Azure are trademarks of the Microsoft group of companies; Terraform is a trademark of HashiCorp.

Trademark

QAZTECH is a registered trade mark of AISC Technologies LTD in the United Kingdom (UK IPO nos. UK00004263700, UK00004317681, UK00004373195). The Apache-2.0 licence does not grant rights to use the QAZTECH name or logo (section 6). Derivative models must not use "QAZTECH" in their name; describe them as "based on QAZTECH Azure Engineer".

Downloads last month
6
Safetensors
Model size
8B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for qaztech-platform/QAZTECH-Azure-Engineer-8B

Finetuned
Qwen/Qwen3-8B
Finetuned
(2233)
this model
Quantizations
1 model

Collection including qaztech-platform/QAZTECH-Azure-Engineer-8B