/ Модель

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

Контекст
40 960 токенов
Параметры
1,7 млрд
Размер весов
6,9 ГБ
Лицензия
Apache 2.0
Архитектура
qwen3 · dense
Базовая модель
Qwen3-1.7B
Библиотека
transformers
Опубликована
16 дек 2025

Qwen3-1.7B-FC

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

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

227скачиваний за 30 дней4лайкавеса обновлены17 дек 2025

Бенчмарки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Qwen3-1.7B-FC — компактная языковая модель на 1,7 млрд параметров, разработанная contextboxai на базе Qwen3-1.7B. Её дообучили с помощью обучения с подкреплением по проверяемым наградам (RLVR), чтобы улучшить вызов функций и использование инструментов. Модель принимает текстовые запросы и описания доступных инструментов, а в ответ формирует вызов инструмента с аргументами или отказывается от вызова, если подходящего инструмента нет.

Модель предназначена для автоматизации поддержки клиентов, голосовых агентов и локальных сценариев, где нужно выбирать и вызывать инструменты, в том числе несколько инструментов за раз. В README приведены результаты на BFCL V3 и описана настройка на корректность вызовов, формат JSON, краткость ответов и уместный отказ. Указана поддержка английского и вьетнамского языков; максимальная длина контекста — 40 960 токенов. По данным README, сильные стороны модели — небольшой размер, лаконичные вызовы и обучение отказам при отсутствии подходящего инструмента. Ограничение: она несколько чаще базовой модели вызывает инструмент при нерелевантном запросе.

Модель распространяется под лицензией Apache-2.0. Для её применения нужны описания инструментов и обработчик, который проверяет и выполняет сформированные вызовы; модель сама не выполняет внешние действия.

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

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

Ограничения

По README модель немного чаще базовой вызывает инструмент для нерелевантного запроса. Сформированные вызовы требуют внешней проверки и выполнения приложением.

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

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

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

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

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

Открыть на Hugging Face

Qwen3-1.7B-FC: Function Calling Specialist

A function calling model based on Qwen3-1.7B, fine-tuned using RLVR (Reinforcement Learning with Verifiable Rewards) to improve tool-use capabilities on the BFCL V3 benchmark.

🏆 Performance Highlights

ModelSizeBFCL OverallCategory Avg
Qwen3-1.7B-FC (Our)1.7B54.2%50.8%
Qwen3-1.7B (Base)1.7B48.8%45.8%
Qwen3-8B8B51.9%48.6%
Qwen3-14B14B51.6%49.0%

Response Efficiency

ModelAvg Response TokensEfficiency vs Base
Base Qwen3-1.7B35.6 tokens-
Qwen3-1.7B-FC (Our)22.7 tokens-36%

The fine-tuned model generates 36% fewer tokens while maintaining higher accuracy, thanks to:

  • Direct tool calls without verbose preambles
  • Concise refusal messages ("None of the provided tools can answer this question")
  • Reduced <think> reasoning blocks

📊 Detailed Benchmark Results (BFCL V3)

Core Function Calling

CategoryQwen3-1.7B-FC (Our)Base 1.7BQwen3-8BQwen3-14B
simple81.0%61.5%69.2%65.5%
multiple79.0%55.5%66.0%57.0%
parallel78.0%68.0%78.0%77.0%
parallel_multiple64.5%51.5%66.5%66.5%
irrelevance81.2%86.2%85.4%90.4%

Executable Python

CategoryQwen3-1.7B-FC (Our)Base 1.7B8B14B
exec_simple84.0%82.0%84.0%87.0%
exec_multiple70.0%70.0%78.0%78.0%
exec_parallel80.0%76.0%86.0%90.0%
exec_parallel_multiple60.0%60.0%67.5%65.0%

Live API Categories

CategoryQwen3-1.7B-FC (Our)Base 1.7BQwen3-8BQwen3-14B
live_simple63.6%43.8%51.2%51.6%
live_multiple55.0%36.8%43.7%42.5%
live_parallel50.0%18.8%43.8%43.8%
live_parallel_multiple66.7%37.5%54.2%50.0%
live_irrelevance66.1%80.3%78.7%79.9%

📚 Training Data

Data Sources

SourceSamplesTypeDescription
xLAM~60,000PositiveHigh-quality function calling examples from Salesforce
ToolACE~11,000PositiveDiverse multi-turn tool usage scenarios
Toucan-1.5M40,000NegativeIrrelevant queries (Server Shuffle method)
Synthetic Negatives6,000NegativeDomain mismatch, partial fulfillment, permission errors

Negative Sample Types

The model is trained to refuse appropriately using diverse negative samples:

TypeDescriptionExample
Toucan IrrelevantQuery has no matching tool in available functions"What's the weather?" when only get_stock_price is available
Domain MismatchTools from wrong domainAsking about finance when only cooking tools available
Action MismatchSimilar name but wrong actionAsking to "delete" when only "get" function exists
Partial FulfillmentTools can't fully solve queryNeed 2 steps but only 1 tool available
Permission/AuthMissing required permissionsAdmin action without credentials
Format MismatchWrong data format requirementsTool expects JSON but query provides CSV

🔧 Training Methodology

Two-Stage RLVR Fine-tuning

  1. Stage 1: Accuracy-focused training (V3)

    • Trained from Qwen3-1.7B base
    • Dataset: ~40K samples (stage2.parquet)
    • Reward: Correctness (1.0) + Format (0.1) + Efficiency (0.3) + Refusal (0.3)
    • Config: max_steps=5000, LR=5e-7, temp=1.2
    • Best checkpoint: step 100 (early stopping, highest accuracy)
  2. Stage 2: Efficiency optimization (V4)

    • Loaded from Stage 1 checkpoint-100
    • Focus: Reduce verbosity, discourage <think> tags
    • Reward weights: Efficiency=1.0, Correctness=0.5, Format=0.1, Refusal=0.3
    • Config: max_steps=3000, LR=2e-7
    • Selected checkpoint: step 1100
    • Result: 36% reduction in response tokens

Reward Function Design

# Combined Reward Formula
total_reward = (
    format_weight * format_reward +           # Valid <tool_call> JSON (0.0-1.0)
    correct_weight * correctness_reward +     # Tool name + arguments match (0.0-1.0)
    refusal_weight * refusal_reward +         # +1.0 correct refusal, -1.0 hallucination
    efficiency_weight * efficiency_reward     # Penalty for verbose <think>
)

# Stage 1 Weights (Accuracy Focus)
STAGE1_WEIGHTS = {
    'format': 0.2,
    'correctness': 1.0,    # Main focus
    'efficiency': 0.2,
    'refusal': 0.3,
}

# Stage 2 Weights (Efficiency Focus)
STAGE2_WEIGHTS = {
    'format': 0.1,
    'correctness': 0.5,    # Reduced - already accurate from Stage 1
    'efficiency': 1.0,     # Main focus - penalize <think> tags
    'refusal': 0.3,
}

Individual Reward Components

ComponentDescriptionRange
format_rewardValid <tool_call>JSON</tool_call> structure0.0 - 1.0
correctness_rewardTool name match + argument similarity0.0 - 1.0
refusal_reward+1.0 correct refusal, -1.0 hallucination-1.0 to +1.0
efficiency_rewardStage 1: -0.3 for <think>, Stage 2: -1.0-1.0 to +0.1

Key Training Innovations

  1. Strong Refusal Penalty: -1.0 for calling tools when ground_truth = []
  2. Toucan Irrelevant Data: 40K high-quality "unanswerable" samples
  3. Efficiency Optimization: Rewarding direct tool calls without preambles
  4. Discourage <think> Tags: Strong penalty (-1.0) for verbose reasoning blocks

🚀 Usage

With Transformers

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

model_name = "contextboxai/Qwen3-1.7B-FC"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype=torch.bfloat16, device_map="auto")

# Define tools
tools = [{
    "name": "get_weather",
    "description": "Get weather for a location",
    "parameters": {
        "type": "object",
        "properties": {
            "location": {"type": "string", "description": "City name"}
        },
        "required": ["location"]
    }
}]

messages = [{"role": "user", "content": "What's the weather in Tokyo?"}]

prompt = tokenizer.apply_chat_template(
    messages,
    tools=tools,
    add_generation_prompt=True,
    tokenize=False,
    enable_thinking=False  # Disable thinking for efficiency
)

inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=256)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)

Expected Output

<tool_call>
{"name": "get_weather", "arguments": {"location": "Tokyo"}}
</tool_call>

Refusal Example

When asked "What is the meaning of life?" with only get_weather tool available:

None of the provided tools can answer this question.

With vLLM (Recommended for Production)

from vllm import LLM, SamplingParams

llm = LLM(model="contextboxai/Qwen3-1.7B-FC")
sampling_params = SamplingParams(temperature=0, max_tokens=256)

# Generate with same prompt format as above
outputs = llm.generate([prompt], sampling_params)

💡 Key Features

✅ Strengths

  • Compact Size: Only 1.7B parameters, runs on consumer GPUs
  • High Accuracy: Outperforms larger models (8B, 14B) on function calling
  • Efficient Responses: Direct tool calls without verbose preambles
  • Strong Refusal: Trained on 46K negative samples to avoid hallucination
  • Multilingual: Supports English and Vietnamese
  • Chat Compatible: Maintains general chat ability (100% on chatable benchmark)

⚠️ Limitations

  • Irrelevance: Slightly more aggressive at calling tools (-5% vs base)

📝 Use Cases

🎯 Ideal For

This model is optimized for edge deployment and customer service automation where a small, efficient model is needed:

Use CaseDescription
Edge Device DeploymentRun locally on devices with limited GPU/RAM
Customer Service ChatbotAutomate order lookup, ticket creation, FAQ with tool calls
Voice Agent / Call CenterReal-time voice-to-action for phone support systems
IoT/Smart HomeControl devices via function calling on edge hardware
Mobile AI AssistantOn-device tool execution without cloud dependency
Cost-Efficient API GatewayRoute requests to appropriate backend services

💼 Customer Service Examples

# Example: Customer asks about their order
tools = [
    {"name": "lookup_order", "parameters": {"order_id": "string"}},
    {"name": "create_ticket", "parameters": {"issue": "string", "priority": "string"}},
    {"name": "get_faq", "parameters": {"topic": "string"}}
]

# User: "Đơn hàng #12345 của tôi ở đâu rồi?"
# Model output:
# <tool_call>
# {"name": "lookup_order", "arguments": {"order_id": "12345"}}
# </tool_call>

# User: "Tôi muốn đổi trả sản phẩm"
# Model output:
# <tool_call>
# {"name": "create_ticket", "arguments": {"issue": "product_return", "priority": "normal"}}
# </tool_call>

⚡ Why Small Model?

BenefitDescription
Low Latency~50ms inference on consumer GPU
Low Cost8x cheaper than 14B model to deploy
PrivacyRun entirely on-premise, no data leaves device
Offline CapableWorks without internet connection

🧠 Reduced Catastrophic Forgetting

This model uses RLVR (Reinforcement Learning from Verifiable Rewards) instead of traditional SFT, which helps reduce capability loss:

  • Less forgetting than SFT: RLVR fine-tunes through reward signals rather than directly overwriting weights
  • 100% chatable score: Model maintains normal conversation ability on BFCL benchmark
  • Multilingual preserved: English and Vietnamese capabilities remain functional
  • Lower risk: Compared to SFT, RLVR typically causes less regression on non-target tasks

🔬 Technical Details

AttributeValue
Base ModelQwen/Qwen3-1.7B
Training MethodRLVR (RL fine-tuning)
Training Steps100 (V3) + 3000 (V4)
Peak LR1e-6 → 2e-7
Training Data117K samples (71K positive + 46K negative)
Precisionbfloat16
Max Sequence Length32768 tokens
Tool FormatXML-style (<tool_call>...</tool_call>)

📚 Citation

If you use this model, please cite:

@misc{qwen3-fc,
  title={Qwen3-1.7B-FC: Efficient Function Calling via GRPO Fine-tuning},
  author={ContextboxAI},
  year={2024},
  howpublished={\url{https://huggingface.co/contextboxai/Qwen3-1.7B-FC}},
}

🙏 Acknowledgments

📄 License

Apache 2.0


Model Card Contact: ContextboxAI

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

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

GPU в ailist

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

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

Подбираем GPU…

Класс архитектуры
Qwen3ForCausalLM
Ревизия весов
11a42f5

0 моделей