File size: 3,509 Bytes
cb20077 5b60f2e 3cd99f8 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 129 130 131 132 133 134 135 |
---
license: apache-2.0
base_model: mhenrichsen/danskgpt-tiny
tags:
- generated_from_trainer
widget:
- example_title: Skak
messages:
- role: system
content: Du er en hjælpsom assistent.
- role: user
content: Hvad er skak?
- example_title: Skaber
messages:
- role: system
content: Du er en hjælpsom assistent.
- role: user
content: Hvem har lavet dig?
---
# 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
|