/ Модель

Характеристики

Контекст
8 192 токена
Размер весов
40,1 ГБ
Лицензия
Apache 2.0
Архитектура
gpt_bigcode · dense
Опубликована
9 июл 2024

granite-20b-functioncalling

Генерация текстаТекст → текст3 профессии

Дообученная языковая модель IBM для определения и формирования вызовов функций в диалоговых сценариях.

445скачиваний за 30 дней36лайковвеса обновлены10 июл 2024

Бенчмарки

Как модель справилась с задачами пользователей ailist и что о ней публикуют открытые лидерборды

Тесты пользователейпока нет

Никто ещё не опубликовал тест этой модели. Соберите бенчмарк из своих задач — результат появится здесь.

  1. Добавьте модель в бенчмарк

    Вместе с другими моделями категории «Текст» — сравнение идёт внутри одной категории.

  2. Опишите свои задачи

    Напишите запросы, при необходимости приложите файлы и эталонные ответы.

  3. Запустите и опубликуйте

    Модели ответят на каждую задачу, судья оценит ответы. Опубликованный результат появится на этой странице.

Публичные оценки

Из открытых лидербордов. Сравнивайте результаты одного теста при одинаковых условиях — отсутствие оценки не значит, что модель хуже.

В подключённых источниках результатов для этой модели пока нет.

Что умеет модель

Описание составлено по карточке модели и метаданным Hugging Face

Granite-20B-FunctionCalling — языковая модель IBM Research, дообученная на основе ibm-granite/granite-20b-code-instruct для выполнения инструкций, связанных с вызовом функций. Она обучена на семи задачах: вложенный вызов функций, цепочки и параллельный вызов функций, определение имени функции, извлечение пар параметр–значение, выбор следующей функции и генерация ответа. Модель предназначена для диалоговых сценариев, где нужно определить и сформировать вызовы функций; её архитектура — GPTBigCode, а контекст составляет 8192 токена. Репозиторий содержит веса в формате Safetensors. Лицензия — Apache 2.0.

Сценарии применения

  • формирование вызовов функций по инструкции пользователя
  • выбор подходящей функции из набора инструментов
  • построение цепочки последовательных вызовов функций
  • формирование вложенных и параллельных вызовов функций
  • извлечение имён функций и значений их параметров
  • генерация ответа после обработки вызова функции

Ограничения

Модель предназначена для задач, связанных с вызовом функций; README не приводит оценок качества или ограничений на набор поддерживаемых функций. Контекст ограничен 8192 токенами.

Для каких профессий подходит3

Разделы каталога профессий, в задачах которых используется эта модель

Все профессии

Карточка модели

README от автора на Hugging Face, как он его опубликовал

Открыть на Hugging Face

Granite-20B-FunctionCalling

Model Summary

Granite-20B-FunctionCalling is a finetuned model based on IBM's granite-20b-code-instruct model to introduce function calling abilities into Granite model family. The model is trained using a multi-task training approach on seven fundamental tasks encompassed in function calling, those being Nested Function Calling, Function Chaining, Parallel Functions, Function Name Detection, Parameter-Value Pair Detection, Next-Best Function, and Response Generation.

Usage

Intended use

The model is designed to respond to function calling related instructions.

Generation

This is a simple example of how to use Granite-20B-Code-FunctionCalling model.

import json
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer

device = "cuda" # or "cpu"
model_path = "ibm-granite/granite-20b-functioncalling"
tokenizer = AutoTokenizer.from_pretrained(model_path)
# drop device_map if running on CPU
model = AutoModelForCausalLM.from_pretrained(model_path, device_map=device)
model.eval()

# define the user query and list of available functions
query = "What's the current weather in New York?"
functions = [
    {
        "name": "get_current_weather",
        "description": "Get the current weather",
        "parameters": {
            "type": "object",
            "properties": {
                "location": {
                    "type": "string",
                    "description": "The city and state, e.g. San Francisco, CA"
                }
            },
            "required": ["location"]
        }
    },
    {
        "name": "get_stock_price",
        "description": "Retrieves the current stock price for a given ticker symbol. The ticker symbol must be a valid symbol for a publicly traded company on a major US stock exchange like NYSE or NASDAQ. The tool will return the latest trade price in USD. It should be used when the user asks about the current or most recent price of a specific stock. It will not provide any other information about the stock or company.",
        "parameters": {
            "type": "object",
            "properties": {
                "ticker": {
                    "type": "string",
                    "description": "The stock ticker symbol, e.g. AAPL for Apple Inc."
                }
            },
            "required": ["ticker"]
        }
    }
]


# serialize functions and define a payload to generate the input template
payload = {
    "functions_str": [json.dumps(x) for x in functions],
    "query": query,
}

instruction = tokenizer.apply_chat_template(payload, tokenize=False, add_generation_prompt=True)

# tokenize the text
input_tokens = tokenizer(instruction, return_tensors="pt").to(device)

# generate output tokens
outputs = model.generate(**input_tokens, max_new_tokens=100)

# decode output tokens into text
outputs = tokenizer.batch_decode(outputs)

# loop over the batch to print, in this example the batch size is 1
for output in outputs:
    # Each function call in the output will be preceded by the token "<function_call>" followed by a 
    # json serialized function call of the format {"name": $function_name$, "arguments" {$arg_name$: $arg_val$}}
    # In this specific case, the output will be: <function_call> {"name": "get_current_weather", "arguments": {"location": "New York"}}
    print(output)

Как запустить

На своей GPU в ailist. Цена — по текущим предложениям провайдеров

GPU в ailist

Универсальный рантайм

Можно запустить

Подбираем GPU…

Класс архитектуры
GPTBigCodeForCausalLM
Ревизия весов
b030a7f

0 моделей