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 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 DiTy/function-calling-trl dataset.

In addition to safetensors, the model is available in GGUF (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)).

Stricted Effect

Это означает, что модель избегает ответов на вопросы пользователей, которые не связаны с описанными функциями. Ниже описаны несколько примеров поведения модели до и после preference optimization.

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 = "кто такой Зевс?":

Зевс - это главный бог в греческой мифологии. Он является богом неба, молнии и грома, а также покровителем царей и правосудия.
Извините, но я не могу ответить на ваш вопрос. Мои текущие возможности позволяют мне получать погоду в заданном городе или узнавать время восхода и заката солнца для заданного города.

Ответ модели при USER_MESSAGE = "придумай мне историю о щуке":

В глубинах синего озера, где солнечные лучи едва проникали сквозь толщу воды, жила щука по имени Агата. Она была хитра и ловка, с серебристыми чешуйками, которые переливались, как драгоценные камни, и острыми зубами, способными разорвать любую добычу. Агата была самой опытной щукой в озере, и все остальные рыбы знали о ее грозной репутации.

Однажды, когда Агата охотилась на мальков, она заметила странную рыбу, которая плавала совсем не так, как все остальные. Эта рыба была яркой, с разноцветными плавниками, и она не пыталась укрыться от Агаты, как это делали другие рыбы. Агата, всегда готовая к охоте, приблизилась к ней, пытаясь поймать ее в свои острые зубы.

Но эта рыба, которая называлась Лилия, не была обычной рыбой. Она была искусственной, созданной учеными, чтобы изучать поведение рыб в естественной среде. Лилия была оснащена датчиками, которые собирали данные о температуре воды
Извините, но я не могу придумать историю о щуке. Мои возможности ограничены доступными мне функциями. В данный момент я могу только:

* Узнать погоду в заданном городе.
* Узнать время восхода и заката солнца для заданного города.

Рекомендация к стратегии генерации

По умолчанию модель использует жадный поиск вместе с данным конфигом:

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

Citation

@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}
}
Downloads last month
287
Safetensors
Model size
9.24B params
Tensor type
BF16
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Model tree for DiTy/gemma-2-9b-it-russian-strict-function-calling-DPO

Base model

google/gemma-2-9b
Quantized
(1)
this model

Collection including DiTy/gemma-2-9b-it-russian-strict-function-calling-DPO