初始化项目,由ModelHub XC社区提供模型
Model: DiTy/gemma-2-9b-it-russian-strict-function-calling-DPO Source: Original Platform
This commit is contained in:
131
README.md
Normal file
131
README.md
Normal file
@@ -0,0 +1,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}
|
||||
}
|
||||
```
|
||||
Reference in New Issue
Block a user