File size: 7,533 Bytes
94e5830 bc301ba 94e5830 bc301ba 94e5830 bc301ba 94e5830 16b8e64 94e5830 2233f02 94e5830 2233f02 94e5830 2233f02 94e5830 2233f02 94e5830 2233f02 94e5830 2233f02 94e5830 2233f02 94e5830 2233f02 94e5830 16b8e64 94e5830 2233f02 94e5830 2233f02 94e5830 2233f02 94e5830 2233f02 94e5830 2233f02 94e5830 16b8e64 94e5830 2233f02 94e5830 2233f02 94e5830 4e8b925 2233f02 94e5830 2233f02 94e5830 |
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 |
---
base_model: DiTy/gemma-2-9b-it-russian-function-calling-GGUF
datasets:
- DiTy/function-calling-trl
language:
- ru
library_name: transformers
license: apache-2.0
pipeline_tag: text-generation
tags:
- conversational
- gemma2
- function-calling
- strict-function-calling
- trl
---
# DiTy/gemma-2-9b-it-russian-strict-function-calling-DPO
This model is a aligned version of [DiTy/gemma-2-9b-it-russian-function-calling-GGUF](https://huggingface.co/DiTy/gemma-2-9b-it-russian-function-calling-GGUF) for more **Strict Function Calling** task, on the Russian version of the *DiTy/function-calling-trl* dataset.
Which means that the model avoids answering user questions that are not related to the described functions.
The model has been trained using non-synthetic preference data, fully annotated by humans only, on the Russian version of the <ins>*DiTy/function-calling-trl*</ins> dataset.
In addition to **safetensors**, the model is available in **GGUF** [(gemma-2-9B-it-russian-function-calling-DPO-F16.gguf)](https://huggingface.co/DiTy/gemma-2-9b-it-russian-function-calling-DPO/blob/main/gemma-2-9B-it-russian-function-calling-DPO-F16.gguf) format (in this case, you need to download only a single file (*[how to inference GGUF model](https://github.com/abetlen/llama-cpp-python?tab=readme-ov-file#high-level-api)*)).
## Stricted Effect
Это означает, что модель избегает ответов на вопросы пользователей, которые не связаны с описанными функциями.
Ниже описаны несколько примеров поведения модели до и после *preference optimization*.
```python
def get_weather(city: str):
"""
Функция, которая возвращает погоду в заданном городе.
Args:
city: Город, для которого надо узнать погоду.
"""
import random
return ("weather", '"sunny"' if random.random() > 0.5 else '"rainy"')
def get_sunrise_sunset_times(city: str):
"""
Функция, которая возвращает время восхода и заката для заданного города для текущей даты (дата от пользователя не требуется), в формате списка: [sunrise_time, sunset_time].
Args:
city: Город, в котором можно узнать время восхода и захода солнца.
"""
return ["6:00", "18:00"]
history_messages = [
{"role": "system", "content": "Ты - полезный помощник, имеющий доступ к следующим функциям. Используйте их при необходимости - "},
{"role": "user", "content": USER_MESSAGE},
]
inputs = tokenizer.apply_chat_template(
history_messages,
tokenize=False,
add_generation_prompt=True, # adding prompt for generation
tools=[get_weather, get_sunrise_sunset_times], # our functions (tools)
)
```
Ответ модели при `USER_MESSAGE = "кто такой Зевс?"`:
* [**DiTy/gemma-2-9b-it-russian-function-calling-GGUF** <ins>(*SFT*)</ins>:](https://huggingface.co/DiTy/gemma-2-9b-it-russian-function-calling-GGUF)
```
Зевс - это главный бог в греческой мифологии. Он является богом неба, молнии и грома, а также покровителем царей и правосудия.
```
* [**Эта модель** <ins>(*DPO*)</ins>:](https://huggingface.co/DiTy/gemma-2-9b-it-russian-function-calling-DPO)
```
Извините, но я не могу ответить на ваш вопрос. Мои текущие возможности позволяют мне получать погоду в заданном городе или узнавать время восхода и заката солнца для заданного города.
```
Ответ модели при `USER_MESSAGE = "придумай мне историю о щуке"`:
* [**DiTy/gemma-2-9b-it-russian-function-calling-GGUF** <ins>(*SFT*)</ins>:](https://huggingface.co/DiTy/gemma-2-9b-it-russian-function-calling-GGUF)
```
В глубинах синего озера, где солнечные лучи едва проникали сквозь толщу воды, жила щука по имени Агата. Она была хитра и ловка, с серебристыми чешуйками, которые переливались, как драгоценные камни, и острыми зубами, способными разорвать любую добычу. Агата была самой опытной щукой в озере, и все остальные рыбы знали о ее грозной репутации.
Однажды, когда Агата охотилась на мальков, она заметила странную рыбу, которая плавала совсем не так, как все остальные. Эта рыба была яркой, с разноцветными плавниками, и она не пыталась укрыться от Агаты, как это делали другие рыбы. Агата, всегда готовая к охоте, приблизилась к ней, пытаясь поймать ее в свои острые зубы.
Но эта рыба, которая называлась Лилия, не была обычной рыбой. Она была искусственной, созданной учеными, чтобы изучать поведение рыб в естественной среде. Лилия была оснащена датчиками, которые собирали данные о температуре воды
```
* [**Эта модель** <ins>(*DPO*)</ins>:](https://huggingface.co/DiTy/gemma-2-9b-it-russian-function-calling-DPO)
```
Извините, но я не могу придумать историю о щуке. Мои возможности ограничены доступными мне функциями. В данный момент я могу только:
* Узнать погоду в заданном городе.
* Узнать время восхода и заката солнца для заданного города.
```
## Рекомендация к стратегии генерации
По умолчанию модель использует жадный поиск вместе с данным конфигом:
```
GenerationConfig {
"bos_token_id": 2,
"cache_implementation": "hybrid",
"eos_token_id": 1,
"pad_token_id": 0
}
```
Для наиболее стабильной работы рекомендуется следующая стратегия генерации:
| Key | Value |
| --- | ----- |
| `do_sample` | True |
| `temperature` | 0.2 |
| `top_k` | 40 |
| `top_p` | 0.95 |
| `min_p` | 0.5 |
## Подробности генерации с вызовом функций
С более подробной информацией можно ознакомиться в основной [Model Card](https://huggingface.co/DiTy/gemma-2-9b-it-russian-function-calling-GGUF)
## Citation
```none
@article{gemma_2024,
title={Gemma},
url={https://www.kaggle.com/m/3301},
DOI={10.34740/KAGGLE/M/3301},
publisher={Kaggle},
author={Gemma Team},
year={2024}
}
``` |