File size: 9,658 Bytes
17243a1
 
 
 
 
 
 
 
 
675cbbf
17243a1
 
39e9d25
17243a1
 
 
 
 
 
 
 
 
 
 
 
39e9d25
17243a1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1ca118a
 
 
17243a1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1ca118a
17243a1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1ca118a
 
17243a1
1ca118a
17243a1
1ca118a
 
 
 
 
 
17243a1
 
 
 
 
 
 
 
 
 
 
 
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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
---
language:
- ro
- en
license: llama3.1
base_model: meta-llama/Meta-Llama-3.1-8B
model-index:
- name: pansophic-1-preview-LLaMA3.1-8b
  results: []
library_name: transformers
---

<img src="https://cdn-uploads.huggingface.co/production/uploads/6501bfe0493fd9c8c2e32402/lD6vkg6RxQKB8Da0JTWxi.jpeg" alt="Pansophic Logo" width="400" style="display:block; margin-left:auto; margin-right:auto;"/>

# pansophic-1-preview 🇷🇴
**pansophic-1-preview** 🦝 is an 8-billion parameter large language model that was trained on a mix of English and Romanian instructions. The prompt format used is **ChatML**.

## Model description
- **Model type:** An 8B parameter GPT-like model fine-tuned and aligned with APO-ZERO.
- **Language(s) (NLP):** Romanian and English
- **License:** llama3.1
- **Finetuned from model:** [meta-llama](https://huggingface.co/meta-llama/Meta-Llama-3.1-8B-Instruct)

## Performance
The model is compared on benchmarks created by the [OpenLLMRo Community](https://huggingface.co/OpenLLM-Ro):
![Benchmarks Results](https://cdn-uploads.huggingface.co/production/uploads/6501bfe0493fd9c8c2e32402/00XR1O1FFDoTMVISj-cey.png)

## Input Format
The model is trained with the ChatML format:

```text
<|im_start|>user
Your message here!<|im_end|>
<|im_start|>assistant
```

The model is optimized for a diverse set of use cases:

### System prompt:
```text
<|im_start|>system
System prompt here.<|im_end|>
<|im_start|>user
Your message here!<|im_end|>
<|im_start|>assistant
```

### Context usage:
```text
<|im_start|>context
Context here.<|im_end|>
<|im_start|>user
Your message here!<|im_end|>
<|im_start|>assistant
```

### Tools usage:
```text
<|im_start|>tools
Tools here.<|im_end|>
<|im_start|>user
Your message here!<|im_end|>
<|im_start|>assistant
```

## Model usage

### Running the model
Here's how you can run the model using 🤗 Transformers:

```python
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer

model = AutoModelForCausalLM.from_pretrained("pansophic/pansophic-1-preview-LLaMA3.1-8b", torch_dtype=torch.bfloat16).to("cuda")
tokenizer = AutoTokenizer.from_pretrained("pansophic/pansophic-1-preview-LLaMA3.1-8b", torch_dtype=torch.bfloat16)
streamer = TextStreamer(tokenizer)

message = "Ce faci?"
chat = [{"role": "user", "content": message}]

prompt = tokenizer.apply_chat_template(chat, tokenize=False, add_generation_prompt=True)
inputs = tokenizer.encode(prompt, add_special_tokens=True, return_tensors="pt")
outputs = model.generate(input_ids=inputs.to("cuda"),
                         max_new_tokens=64000,
                         do_sample=True,
                         temperature=0.7,
                         repetition_penalty=1.1,
                         top_p=0.95,
                         use_cache=True,
                         streamer=streamer)
```

### Tool usage
The model is optimized for agentic behavior when it has access to external tools. In the example below, we inform the model that it has access to a function that can generate images:

```text
tools = """[{"name": "image_generation", "description": "Generează o imagine pe baza unui query.", "parameters": {"query": {"description": "Query-ul pe baza căruia să se genereze imaginea.", "type": "str"}}}]"""
query = "Generează o imagine cu un coldbrew, iar în fundal Turnul Eiffel."

chat = [{"role": "tools", "content": tools},
        {"role": "user", "content": message}]
```

The model’s response will be:

```text
<tool_call> {"name": "image_generation", "arguments": {"query": "Un coldbrew în prim-plan, cu Turnul Eiffel în fundal"}} </tool_call>
```

And this is the generated image using FLUX model.
![Flux Image](https://cdn-uploads.huggingface.co/production/uploads/6501bfe0493fd9c8c2e32402/xndvmO50-ckSrIF0YAhdo.png)

The start of the function call is denoted by the special token `<tool_call>`, and the `</tool_call>` token marks the end of the function call.

### System prompt
The model is optimized to adhere strictly to system prompts:

```text
system = "Foloseste doar emoji-uri atunci când răspunzi."
message = "Ești fericit?"

chat = [{"role": "system", "content": system},
        {"role": "user", "content": message}]
```

The model’s response will be:

```text
😊🙌💖
```

### Context usage
The model is optimized for context usage. The model generates special tokens to retrieve information from the context before formulating an answer, ensuring that the response is grounded in the appropriate context. The model will use special tokens to denote the information retrieval from the context.

```text
context = """Document:0 
Title: Contextul Politic din România  
Text: În România, contextul politic este caracterizat de o dinamică complexă și adesea imprevizibilă. Partidele politice majore, precum Partidul Social Democrat (PSD) și Partidul Național Liberal (PNL), domină scena politică, dar nu fără provocări interne și externe. România se confruntă cu provocări legate de stabilitatea guvernului, polarizarea politică și tensiuni între diferitele ramuri ale puterii. Alegerile recente au evidențiat o creștere a sentimentului anti-establishment, cu partide noi și mișcări politice care câștigă teren. În plus, relațiile cu Uniunea Europeană și politicile economice rămân subiecte fierbinți, influențând deciziile politice și direcția strategică a țării. În general, climatul politic din România rămâne volatil, reflectând tranziția continuă a țării către o democrație matură și consolidată.

Document:1
Title: Influența lui Mihai Eminescu în România
Text:Mihai Eminescu, considerat cel mai mare poet național al României, a avut o influență profundă asupra culturii și conștiinței naționale românești. Opera sa, caracterizată printr-o profundă reflecție filosofică și o extraordinară bogăție lingvistică, a devenit un reper în literatura română, inspirând generații întregi de scriitori, intelectuali și oameni de cultură.

Eminescu nu a fost doar un poet romantic; el a fost și un jurnalist vehement, care a comentat asupra contextului politic și social al României de la sfârșitul secolului al XIX-lea. În articolele sale publicate în "Timpul", a criticat corupția politică, inegalitățile sociale și influențele externe care amenințau identitatea națională. Prin cuvântul său, Eminescu a militat pentru conservarea tradițiilor și a valorilor autentice românești, văzând în acestea fundația unei Românii puternice și independente.

În educația din România, operele lui Eminescu sunt parte integrantă a curriculei, fiind studiate în detaliu în școli și universități. Poezii precum "Luceafărul" sau "Scrisoarea III" sunt considerate capodopere ale literaturii universale, iar influența sa se resimte și astăzi în discursul cultural și naționalist românesc. În fiecare an, la 15 ianuarie, ziua de naștere a lui Eminescu, se celebrează "Ziua Culturii Naționale" în România, un omagiu adus moștenirii sale durabile.

Eminescu a devenit un simbol al sufletului românesc, iar lucrările sale rămân un testament al luptelor, viselor și aspirațiilor poporului român. Influența sa este atât de profundă încât numele său este asociat nu doar cu literatura, ci și cu identitatea culturală națională a României."""
---
message = "În ce ziar a scris Mihai Eminescu?"

chat = [{"role": "context", "content": context},
        {"role": "user", "content": message}]
```

The model’s response is:

```text
<gather_info>
<document: 1>
- Mihai Eminescu a scris ca jurnalist în "Timpul"
- A comentat asupra contextului politic și social al României de la sfârșitul secolului al XIX-lea
- A criticat corupția politică, inegalitățile sociale și influențele externe care amenințau identitatea națională
</document>

Documente citate: 1
</gather_info>

Mihai Eminescu, cel mai mare poet național al României, a lăsat o amprentă indelebilă nu numai pe scena literară, ci și pe peisajul jurnalistic al epocii sale. În calitate de jurnalist, Eminescu a ales să-și exprime opinia și analizele în cadrul ziarului "Timpul". Acesta a fost forumul în care a abordat teme de actualitate, oferind o perspectivă unică asupra contextului politic și social al României de la sfârșitul secolului al XIX-lea.

Prin articolele sale, Eminescu a nu numai că a reflectat realitățile timpului său, ci a și exercitat o influență semnificativă asupra dezbaterilor publice. Criticând corupția politică, inegalitățile sociale și influențele externe care amenințau identitatea națională, el a demonstrat un angajament ferm față de valorile autentice românești și față de o Românie puternică și independentă.

Astăzi, opera lui Eminescu rămâne un punct de referință în literatura română și o sursă de inspirație pentru generații întregi de scriitori, intelectuali și oameni de cultură. Moștenirea sa literară, inclusiv articolele sale publicate în "Timpul", continue să fie studiate și apreciate în România, reflectând importanța sa continuă în viața culturală și națională a țării.
```

## Limitations
While **pansophic-1-preview** 🇷🇴 is an advanced model, it may generate incorrect or nonsensical responses, especially in complex or highly nuanced scenarios. It should be used with caution in critical applications.

## Acknowledgments
The OpenLLM-Ro team extends its gratitude to all contributors and users who provided valuable feedback during the model's development.

---

# License
This model is licensed under the **llama3.1** license.