/ Модель

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

Контекст
32 768 токенов
Параметры
7,1 млрд
Размер весов
14,5 ГБ
Лицензия
cc
Архитектура
mistral · dense
Опубликована
4 мар 2024

Mistral-7B-Instruct-v0.2-Function-Calling

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

Дообученная Mistral 7B Instruct с поддержкой вызова функций для диалоговых приложений, использующих внешние API и базы данных.

28скачиваний за 30 дней9лайковвеса обновлены2 апр 2024

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

InterSync разработала дообученную версию Mistral-7B-Instruct-v0.2 с поддержкой вызова функций. Это плотная авторегрессионная модель семейства Mistral на 7,1 млрд параметров; она принимает текстовые сообщения и генерирует текст, включая структурированные вызовы внешних функций в диалоге. Контекст модели составляет 32 768 токенов.

Модель предназначена для диалоговых приложений, которым нужно направлять запросы к внешним API, искать сведения в интернете или пользовательских базах данных и использовать полученные данные для ответов и кратких объяснений. Такие функции выполняются через интеграцию с инструментами приложения.

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

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

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

Ограничения

README не приводит оценок качества или сведений о надёжности вызовов функций. Для работы с внешними API и базами данных требуется интеграция с инструментами приложения.

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

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

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

Также подходит для

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

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

Открыть на Hugging Face

Fine-tuned Mistral 7B Instruct v0.2 with OpenAI Function Call Support

Finetuned version of Mistral-7B-Instruct-v0.2 to support direct function calling. This new capability aligns with the functionality seen in OpenAI's models, enabling Mistral 7B Instruct v0.2 to interact with external data sources and perform more complex tasks, such as fetching real-time information or integrating with custom databases for enriched AI-powered applications.

Features

  • Direct Function Calls: Mistral 7B Instruct v0.2 now supports structured function calls, allowing for the integration of external APIs and databases directly into the conversational flow. This makes it possible to execute custom searches, retrieve data from the web or specific databases, and even summarize or explain content in depth.

Usage

Importing Libraries

from transformers import AutoModelForCausalLM, AutoTokenizer, TextStreamer

Initializing Model and Tokenizer

device = "cuda" 

model = AutoModelForCausalLM.from_pretrained("InterSync/Mistral-7B-Instruct-v0.2-Function-Calling")
tokenizer = AutoTokenizer.from_pretrained("InterSync/Mistral-7B-Instruct-v0.2-Function-Calling")

Creating the Text Streamer

streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)

Defining Tools

tools = [
    {
        "type": "function",
        "function": {
            "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",
                    },
                    "format": {
                        "type": "string",
                        "enum": ["celsius", "fahrenheit"],
                        "description": "The temperature unit to use. Infer this from the user's location.",
                    },
                },
                "required": ["location", "format"],
            },
        }
    }
]

Setting up the Messages

messages = [
    {
        "role": "user",
        "content": (
            "You are Mistral with function-calling supported. You are provided with function signatures within <tools></tools> XML tags. "
            "You may call one or more functions to assist with the user query. Don't make assumptions about what values to plug into functions. "
            "Here are the available tools:\n"
            "<tools>\n"
            f"{tools}\n"
            "</tools>\n\n"
            "For each function call, return a JSON object with the function name and arguments within <tool_call></tool_call> XML tags as follows:\n"
            "<tool_call>\n"
            "{'arguments': <args-dict>, 'name': <function-name>}\n"
            "</tool_call>"
        )
    },
    {
        "role": "assistant",
        "content": "How can I help you today?"
    },
    {
        "role": "user",
        "content": "What is the current weather in San Francisco?"
    },
]

Preparing Model Inputs

inputs = tokenizer.apply_chat_template(messages, tokenize=True, add_generation_prompt=True, return_tensors="pt")
model_inputs = inputs.to(device)

Generating the Response

model.to(device)
generate_ids = model.generate(model_inputs, streamer=streamer, do_sample=True, max_length=4096)
decoded = tokenizer.batch_decode(generate_ids)

Expected Output

<tool_call>
{"arguments": {"location": "San Francisco, CA", "format": "celsius"}, "name": "get_current_weather"}
</tool_call>

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
MistralForCausalLM
Ревизия весов
5623fdb

0 моделей