File size: 3,285 Bytes
c4e323a
 
56e70a5
c4e323a
 
56e70a5
 
 
 
 
 
c4e323a
 
 
 
56e70a5
 
 
 
 
 
9b1ebd5
 
 
 
 
 
 
 
 
 
5518367
9b1ebd5
 
5518367
9b1ebd5
 
5518367
9b1ebd5
 
 
c4e323a
 
56e70a5
 
 
 
49f853e
56e70a5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c4e323a
56e70a5
c4e323a
56e70a5
c4e323a
56e70a5
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
---
base_model: vngrs-ai/Kumru-2B-Base
license: apache-2.0
tags:
- transformers
- dpo
- dapt
- kumru
- epdk
- causal-lm
- text-generation-inference
- unsloth
- mistral
- trl
language:
- tr
datasets:
- ogulcanakca/epdk_dpo
- ogulcanakca/epdk_corpus
pipeline_tag: text-generation
library_name: transformers
model-index:
- name: Kumru-2B-EPDK-Instruct
  results:
  - task:
      name: EPDK Domain Instruction Following
      type: text-generation
      args:
        num_samples: 60
        evaluation_method: "LLM-as-a-Judge (Gemini 2.5 Flash)"
    metrics:
      - name: ogulcanakca/Kumru-2B-EPDK-Instruct Answer Win Rate
        type: win_rate
        value: 0.717 
      - name: vngrs-ai/Kumru-2B Answer Average
        type: custom_metric
        value: 0.367
      - name: ogulcanakca/Kumru-2B-EPDK-Instruct Answer Average
        type: custom_metric
        value: 0.643

---

# Model Card

`vngrs-ai/Kumru-2B-Base` modelinin **iki aşamalı (DAPT + DPO) bir fine-tuning** sürecinden geçirilmesiyle oluşturulmuş **nihai** modelidir. Model, Enerji Piyasası Düzenleme Kurumu (EPDK) mevzuatları konusunda uzmanlaşmış bir **instruct modelidir.**

Bu model, `llama.cpp` ve `Ollama` gibi platformlarda kullanılmak üzere [`ogulcanakca/Kumru-2B-EPDK-Instruct-GGUF`](https://huggingface.co/ogulcanakca/Kumru-2B-EPDK-Instruct-GGUF) reposunda **GGUF formatında** da mevcuttur.

```python
!pip install -q \
    "transformers" \
    "peft" \
    "accelerate" \
    "bitsandbytes" \
    "trl" \
    "datasets"

from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
import torch

model_name = "ogulcanakca/Kumru-2B-EPDK-Instruct"

# 4-bit QLoRA ile yükleme
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.float16 # T4 için
)

tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(
    model_name,
    quantization_config=bnb_config,
    device_map="auto",
    trust_remote_code=True
)
model.eval()

prompt_soru = "2007 yılına ait Türkiye Ortalama Elektrik Toptan Satış Fiyatının (TORETOSAF) değeri nedir?"

messages = [
    {"role": "user", "content": prompt_soru}
]

input_text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(input_text, return_tensors="pt").to(model.device)

inputs.pop("token_type_ids", None)

with torch.no_grad():
    outputs = model.generate(
        **inputs,
        max_new_tokens=150,
        temperature=0.2,
        do_sample=True,
        pad_token_id=tokenizer.eos_token_id
    )

response_start_index = inputs.input_ids.shape[1]
print(tokenizer.decode(outputs[0][response_start_index:], skip_special_tokens=True))
```

## GGUF (llama.cpp) 

**GGUF Reposu:** 👉 [**ogulcanakca/Kumru-2B-EPDK-Instruct-GGUF**](https://huggingface.co/ogulcanakca/Kumru-2B-EPDK-Instruct-GGUF)

## WandB

[WandB report](https://api.wandb.ai/links/ogulcanakca-none/z06caml6)

```json
{
  "prompt": "2007 yılına ait Türkiye Ortalama Elektrik Toptan Satış Fiyatının (TORETOSAF) değeri nedir?",
  "Instruct Model": "TORETOSAF, 2013 yılı için, 12 aylık TÜFE ile TEFE arasındaki farktır. 2013 yılı için % 10,11’dir."
}
```