Qwen2.5-NLI-7B
Авторы: Потанин М.В., Понимаш З. А.
Описание модели
Qwen2.5-NLI-7B — специализированная модель для преобразования команд на естественном языке в структурированные описания задач с использованием формата MASL (Multi-agent system language). Модель основана на Qwen/Qwen2.5-7B-Instruct и дообучена на синтетическом датасете NLI Task Specification Dataset (MASL).
Возможности
- Парсинг текстовых команд в семантические структуры
- Определение типов данных (файлы, структурированные данные, их подтипы)
- Классификация семантических категорий (raw, speak, question, answer, summary, reasoning, report)
- Определение областей знаний (general, physics, biology, math, medicine, legal, psychology, economy, ML/AI, IT)
- Построение спецификаций входных и выходных коннекторов для мультиагентных систем
Архитектура
- Базовая модель: Qwen/Qwen2.5-7B-Instruct
- Параметры: 7 миллиардов
- Тип обучения: Instruction tuning на специализированном датасете
- Формат вывода: JSON с определённой схемой
Датасет
Модель обучена на датасете из 9 999 примеров пар "команда → JSON структура":
Использование
Быстрый старт
Полный код для работы с моделью доступен в Google Colab.
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
# Токенизатор от базовой модели
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen2.5-7B", trust_remote_code=True)
# Веса модели
model_name_or_path = "Ponimash/Qwen2.5-nli-7b"
model = AutoModelForCausalLM.from_pretrained(
model_name_or_path,
trust_remote_code=True,
torch_dtype=torch.bfloat16,
device_map="auto"
)
Схема выходных данных
Структура JSON (развернуть)
Коннектор (Connector)
{
"input_connector": {
"dataType": {
"complexType": "file | structured",
"subtype": "txt | csv | json | pdf | docx | pptx | jpg | png | wav | mp3 | flac | ogg | matrix | vector | tensor | signal | text | image | sound"
},
"semanticType": {
"semanticCategory": "raw | specter | cepstrum | speak | question"
},
"knowledgeDomain": "general | physics | biology | math | medicine | legal | psychology | economy | ML/AI | IT"
},
"output_connector": {
"dataType": {
"complexType": "file | structured",
"subtype": "..."
},
"semanticType": {
"semanticCategory": "specter | cepstrum | speak | answer | summary | reasoning | report"
},
"knowledgeDomain": "..."
},
"can_llm_answer": true | false // опционально
}
Типы данных
complexType:
file— файловое представлениеstructured— структурированное представление в памяти
subtype для файлов:
- Текстовые:
txt,csv,json - Документы:
pdf,docx,pptx - Изображения:
jpg,png - Аудио:
wav,mp3,flac,ogg
subtype для structured:
- Математические:
matrix,vector,tensor - Сигналы:
signal - Пользовательские:
text,image,sound
Семантические категории
Входные:
raw— необработанные данныеspecter— спектральное представлениеcepstrum— кепстральные коэффициентыspeak— устная речьquestion— вопрос/запрос
Выходные:
specter,cepstrum,speak— обработанные данныеanswer— ответ на вопросsummary— краткое изложениеreasoning— логический анализreport— структурированный отчёт
Области знаний
general— общие знанияphysics— физикаbiology— биологияmath— математикаmedicine— медицинаlegal— правоpsychology— психологияeconomy— экономикаML/AI— машинное обучение и ИИIT— информационные технологии
Примеры использования
Пример 1: Транскрипция аудио
Команда:
"Возьми то сообщение что я тебе продиктовал и переведи в текст"
Вывод:
{
"input_connector": {
"dataType": {
"complexType": "structured",
"subtype": "sound"
},
"semanticType": {
"semanticCategory": "speak"
},
"knowledgeDomain": "general"
},
"output_connector": {
"dataType": {
"complexType": "file",
"subtype": "txt"
},
"semanticType": {
"semanticCategory": "speak"
},
"knowledgeDomain": "general"
}
}
Пример 2: Голосовой ответ
Команда:
"Объясни почему трава зелёная, сделай это голосом"
Вывод:
{
"input_connector": {
"dataType": {
"complexType": "structured",
"subtype": "text"
},
"semanticType": {
"semanticCategory": "question"
},
"knowledgeDomain": "biology"
},
"output_connector": {
"dataType": {
"complexType": "structured",
"subtype": "sound"
},
"semanticType": {
"semanticCategory": "answer"
},
"knowledgeDomain": "biology"
}
}
Пример 3: Создание презентации
Команда:
"Сделай презентацию с решением задачи о квантовой запутанности"
Вывод:
{
"input_connector": {
"dataType": {
"complexType": "structured",
"subtype": "text"
},
"semanticType": {
"semanticCategory": "question"
},
"knowledgeDomain": "physics"
},
"output_connector": {
"dataType": {
"complexType": "file",
"subtype": "pptx"
},
"semanticType": {
"semanticCategory": "reasoning"
},
"knowledgeDomain": "physics"
}
}
Применение
Модель предназначена для использования в:
- Мультиагентных системах — построение цепочек инструментов
- Агентных фреймворках — маршрутизация задач между инструментами
- Планировщиках задач — преобразование NL-команд в исполняемые спецификации
- Системах автоматизации — интеллектуальная обработка пользовательских запросов
Ограничения и рекомендации
Ограничения
- Модель работает только на русском языке
- Качество может снижаться на узкоспециализированных доменах, не представленных в обучающих данных
- Модель не выполняет сами задачи, а только создаёт их спецификации
Рекомендации
- Для лучших результатов формулируйте команды чётко и однозначно
- Указывайте явно желаемый формат вывода (файл или структурированные данные)
- При работе с узкоспециализированными областями проверяйте корректность
knowledgeDomain
Цитирование
Если вы используете эту модель в своей работе, пожалуйста, укажите:
@misc{qwen25-nli-7b,
authors = {Потанин М.В., Понимаш З. А.},
title = {Qwen2.5-NLI-7B: Natural Language Interface for Task Specification},
year = {2024},
publisher = {HuggingFace},
howpublished = {\url{https://huggingface.co/Ponimash/Qwen2.5-nli-7b}}
}
Лицензия
Модель распространяется под лицензией Apache 2.0. Базовая модель Qwen/Qwen2.5-7B-Instruct также использует Apache 2.0.
- Downloads last month
- 28