|
--- |
|
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) |
|
``` |
|
|
|
|