File size: 1,566 Bytes
6ea8554
 
 
 
 
 
 
 
 
 
 
 
0f8065b
6ea8554
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
---
license: mit
base_model:
- ai-sage/GigaChat-20B-A3B-instruct
language:
- ru
- en
---
# GigaChat-20B-A3B-instruct bf16

Диалоговая модель из семейства моделей GigaChat, основная на [ai-sage/GigaChat-20B-A3B-instruct](https://huggingface.co/ai-sage/GigaChat-20B-A3B-instruct). Поддерживает контекст в 131 тысячу токенов.

Больше подробностей в [хабр статье](https://habr.com/en/companies/sberdevices/articles/865996/) и в карточке оригинальной instruct модели.


## Пример использования через transformers

```bash
pip install --upgrade transformers torch accelerate bitsandbytes
```


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

model_name = "ai-sage/GigaChat-20B-A3B-instruct-bf16"
tokenizer = AutoTokenizer.from_pretrained(model_name, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True, device_map="auto", torch_dtype=torch.bfloat16)
model.generation_config = GenerationConfig.from_pretrained(model_name)

messages = [
    {"role": "user", "content": "Докажи теорему о неподвижной точке"}
]
input_tensor = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt")
outputs = model.generate(input_tensor.to(model.device))

result = tokenizer.decode(outputs[0][input_tensor.shape[1]:], skip_special_tokens=False)
print(result)
```