File size: 3,558 Bytes
cb20077
 
 
 
 
5b60f2e
3bd3b56
 
 
 
 
cb20077
 
 
540b4be
df4503a
cb20077
540b4be
cb20077
 
ad8fac1
 
 
 
 
 
 
 
 
2f658dd
ad8fac1
 
 
cb20077
67d8cc7
cb20077
6e7e23b
 
 
 
 
 
 
 
 
 
4b3db6c
67d8cc7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4b3db6c
 
 
 
 
67d8cc7
 
 
 
ccebf8d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
cb20077
 
d4c79c0
 
cb20077
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
df55313
62b20e6
df55313
62b20e6
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
119
120
121
122
123
124
125
126
127
128
---
license: apache-2.0
base_model: mhenrichsen/danskgpt-tiny
tags:
- generated_from_trainer
widget:
- text: "<|im_start|>system\nDu er en hjælpsom assistent.<|im_end|>\n<|im_start|>user\nHvad er skak?<|im_end|>\n<|im_start|>assistant"
  example_title: "Skak"
- text: "<|im_start|>system\nDu er en hjælpsom assistent.<|im_end|>\n<|im_start|>user\nHvem har lavet dig?<|im_end|>\n<|im_start|>assistant"
  example_title: "Skaber"

---


# DanskGPT-tiny-chat
<img src="danskgpt-tiny-chat.webp" width="500" height="500">

DanskGPT-tiny-chat er chat-varianten af [mhenrichsen/danskgpt-tiny](https://huggingface.co/mhenrichsen/danskgpt-tiny) trænet på private chat datasæt.


## Model beskrivelse

Modellen er beregnet til at være en lightweight version af DanskGPT, der kan køre på næsten alle enheder.

## Prompt template

Modellen er trænet med ChatML format (samme som OpenAI's modeller), og skal bruges på følgende måde:

```
<|im_start|>system\nDu er en hjælpsom assistent.<|im_end|>\n<|im_start|>user\nHvad er skak?<|im_end|>\n<|im_start|>assistant

```


## Inferens

### Ollama
Installér ollama:
https://ollama.ai/download

Kør:
```
ollama run mhenrichsen/danskgpt-tiny-chat
```


### vLLM
```
pip install vllm
```


```python
from vllm import LLM, SamplingParams

sampling_params = SamplingParams(temperature=0.8, top_p=0.95, max_tokens=1024)
llm = LLM(model="mhenrichsen/danskgpt-tiny-chat")

system_message = "Du er en hjælpsom assistent."
conversation_history = f"<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n"
while True:
    prompt = input("Bruger: ")
    new_prompt = f"{conversation_history}{prompt}<|im_end|>\n<|im_start|>assistant\n"

    outputs = llm.generate(new_prompt, sampling_params)
    for output in outputs:
        prompt = output.prompt
        generated_text = output.outputs[0].text
        print(f"AI: {generated_text!r}")
        conversation_history = f"{prompt}{generated_text!r}<|im_end|>\n<|im_start|>user\n"

```

### Endpoint med openai
```
pip install openai
```


```
python -m vllm.entrypoints.openai.api_server --model mhenrichsen/danskgpt-tiny-chat
```
og brugt som erstatning for OpenAI's endpoints:

```python
from openai import OpenAI
openai_api_key = "EMPTY"
openai_api_base = "http://localhost:8000/v1"

client = OpenAI(
    api_key=openai_api_key,
    base_url=openai_api_base,
)

chat_response = client.chat.completions.create(
    model="mhenrichsen/danskgpt-tiny-chat",
    messages=[
        {"role": "system", "content": "Du er en hjælpsom assistent. Giv mig et langt svar."},
        {"role": "user", "content": "Fortæl mig om Danmark."},
    ]
)
print("AI:", chat_response)
```


## Training results


| Training Loss | Epoch | Step | Validation Loss |
|:-------------:|:-----:|:----:|:---------------:|
| 1.3599        | 0.0   | 1    | 1.4118          |
| 0.7896        | 0.25  | 136  | 0.7813          |
| 0.7339        | 0.5   | 272  | 0.7490          |
| 0.7378        | 0.75  | 408  | 0.7285          |
| 0.7112        | 1.0   | 544  | 0.7146          |
| 0.6377        | 1.23  | 680  | 0.7135          |
| 0.6192        | 1.49  | 816  | 0.7133          |
| 0.5985        | 1.74  | 952  | 0.7073          |
| 0.6067        | 1.99  | 1088 | 0.7026          |
| 0.5139        | 2.22  | 1224 | 0.7167          |
| 0.5099        | 2.47  | 1360 | 0.7193          |
| 0.5217        | 2.72  | 1496 | 0.7168          |

## Brug for hjælp?
Har du spørgsmål eller brug for hjælp til LLM'er eller automatisering af tekstbaserede opgaver, så kontakt mig gerne.

/Mads