初始化项目,由ModelHub XC社区提供模型
Model: MultiverseComputingCAI/LittleLamb-ToolCalling Source: Original Platform
This commit is contained in:
38
.gitattributes
vendored
Normal file
38
.gitattributes
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.arrow filter=lfs diff=lfs merge=lfs -text
|
||||
*.bin filter=lfs diff=lfs merge=lfs -text
|
||||
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||
*.ckpt filter=lfs diff=lfs merge=lfs -text
|
||||
*.ftz filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.h5 filter=lfs diff=lfs merge=lfs -text
|
||||
*.joblib filter=lfs diff=lfs merge=lfs -text
|
||||
*.lfs.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.mlmodel filter=lfs diff=lfs merge=lfs -text
|
||||
*.model filter=lfs diff=lfs merge=lfs -text
|
||||
*.msgpack filter=lfs diff=lfs merge=lfs -text
|
||||
*.npy filter=lfs diff=lfs merge=lfs -text
|
||||
*.npz filter=lfs diff=lfs merge=lfs -text
|
||||
*.onnx filter=lfs diff=lfs merge=lfs -text
|
||||
*.ot filter=lfs diff=lfs merge=lfs -text
|
||||
*.parquet filter=lfs diff=lfs merge=lfs -text
|
||||
*.pb filter=lfs diff=lfs merge=lfs -text
|
||||
*.pickle filter=lfs diff=lfs merge=lfs -text
|
||||
*.pkl filter=lfs diff=lfs merge=lfs -text
|
||||
*.pt filter=lfs diff=lfs merge=lfs -text
|
||||
*.pth filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
*.safetensors filter=lfs diff=lfs merge=lfs -text
|
||||
saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar.* filter=lfs diff=lfs merge=lfs -text
|
||||
*.tar filter=lfs diff=lfs merge=lfs -text
|
||||
*.tflite filter=lfs diff=lfs merge=lfs -text
|
||||
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||
*.wasm filter=lfs diff=lfs merge=lfs -text
|
||||
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.zst filter=lfs diff=lfs merge=lfs -text
|
||||
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
||||
tokenizer.json filter=lfs diff=lfs merge=lfs -text
|
||||
assets/littlelamb-tc-intelligence-family.png filter=lfs diff=lfs merge=lfs -text
|
||||
assets/littlelamb-tc-performance-family.png filter=lfs diff=lfs merge=lfs -text
|
||||
368
README.md
Normal file
368
README.md
Normal file
@@ -0,0 +1,368 @@
|
||||
---
|
||||
|
||||
base_model:
|
||||
|
||||
- Qwen/Qwen3-0.6B
|
||||
- MultiverseComputing/LittleLamb-0.3B
|
||||
library_name: transformers
|
||||
license: apache-2.0
|
||||
|
||||
---
|
||||
<div align="center">
|
||||
|
||||
# LittleLamb 0.3B Tool-Calling
|
||||
|
||||
### Powered by CompactifAI
|
||||
|
||||
[](https://opensource.org/licenses/Apache-2.0)
|
||||
[](https://huggingface.co/MultiverseComputingCAI/LittleLamb-ToolCalling)
|
||||
[](https://discord.gg/cGas9uStqp)
|
||||
|
||||
**Tiny Model** · **50% Compressed** · **Native Tool Calling** · **Thinking & Non-Thinking Modes**
|
||||
|
||||
</div>
|
||||
|
||||
---
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Highlights](#highlights)
|
||||
- [Model Overview](#model-overview)
|
||||
- [Key Characteristics](#key-characteristics)
|
||||
- [Quick Start](#quick-start)
|
||||
- [What's New in LittleLamb 0.3B Tool-Calling](#whats-new-in-littlelamb-03b-tool-calling)
|
||||
- [Tool Calling](#tool-calling)
|
||||
- [Dual-Mode Inference (Thinking / Non-Thinking)](#dual-mode-inference-thinking--non-thinking)
|
||||
- [Training & Fine-Tuning](#training--fine-tuning)
|
||||
- [Architecture](#architecture)
|
||||
- [Evaluation & Benchmarks](#evaluation--benchmarks)
|
||||
- [Languages](#languages)
|
||||
- [Intended Use](#intended-use)
|
||||
- [Safety & Limitations](#safety--limitations)
|
||||
- [Model Information](#model-information)
|
||||
- [Citation](#citation)
|
||||
|
||||
---
|
||||
|
||||
## Model Overview
|
||||
|
||||
**LittleLamb 0.3B Tool-Calling** is a **tool-calling–optimized variant** of [LittleLamb 0.3B](https://huggingface.co/MultiverseComputingCAI/LittleLamb-ToolCalling) at **290M parameters**, developed based on [Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) by **Multiverse Computing**. Built on top of the CompactifAI-compressed LittleLamb base, this variant has been additionally fine-tuned for **function calling, structured outputs, and agentic workflows**. It supports **thinking and non-thinking modes** while adding native tool-use support in a sub-300M-parameter footprint.
|
||||
|
||||
---
|
||||
|
||||
## Key Characteristics
|
||||
|
||||
|
||||
| Characteristic | Description |
|
||||
| ---------------- | ---------------------------------------------------------------------------------------------------------------- |
|
||||
| Base model | [Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) (0.6B params, 0.44B non-embedding; open-weight, Apache 2.0) |
|
||||
| **Tool calling** | Native support for function calling with defined schemas and structured outputs |
|
||||
| **Parameters** |290M total parameters after CompactifAI compression (50% compression rate from base 0.6B) |
|
||||
| **Architecture** | Decoder-only Transformer (Qwen3 family) |
|
||||
| **Compression** | CompactifAI (proprietary) |
|
||||
| **Languages** | English. Spanish is yet to be tested for tool-calling capabilities. |
|
||||
| **Modes** | Thinking (`enable_thinking=True`) and non-thinking (`enable_thinking=False`) via chat template |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Quick Start
|
||||
|
||||
This model can be loaded with the **Transformers** library. Requires `transformers>=4.51.0` for Qwen3 architecture support.
|
||||
|
||||
```python
|
||||
from transformers import AutoModelForCausalLM, AutoTokenizer
|
||||
|
||||
model_id = "MultiverseComputingCAI/LittleLamb-ToolCalling"
|
||||
tokenizer = AutoTokenizer.from_pretrained(model_id)
|
||||
model = AutoModelForCausalLM.from_pretrained(
|
||||
model_id,
|
||||
torch_dtype="auto",
|
||||
device_map="auto",
|
||||
)
|
||||
|
||||
messages = [{"role": "user", "content": "Hello!"}]
|
||||
text = tokenizer.apply_chat_template(
|
||||
messages,
|
||||
tokenize=False,
|
||||
add_generation_prompt=True,
|
||||
enable_thinking=True,
|
||||
)
|
||||
inputs = tokenizer([text], return_tensors="pt").to(model.device)
|
||||
output_ids = model.generate(**inputs, max_new_tokens=256)[0]
|
||||
response = tokenizer.decode(
|
||||
output_ids[len(inputs.input_ids[0]) :], skip_special_tokens=True
|
||||
)
|
||||
print(response)
|
||||
```
|
||||
|
||||
For OpenAI-compatible serving, use a stack that supports Qwen3 reasoning and tool calling (e.g. recent **vLLM** or **SGLang** with Qwen3 parsers); see the [Qwen3-0.6B model card](https://huggingface.co/Qwen/Qwen3-0.6B) for deployment examples.
|
||||
|
||||
---
|
||||
|
||||
## What's New in LittleLamb 0.3B Tool-Calling
|
||||
|
||||
### Summary
|
||||
|
||||
- **Tool-calling–optimized** variant of LittleLamb 0.3B, fine-tuned for function calling and structured outputs.
|
||||
- **Ultra-compact** at 290M parameters, suitable for edge and on-device deployment with agentic capabilities.
|
||||
- **Developed based on [Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B)** with **CompactifAI** compression (~50% parameter reduction vs. base non-embedding count).
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Tool Calling
|
||||
|
||||
LittleLamb 0.3B Tool-Calling supports **native tool use** and is designed for:
|
||||
|
||||
- **Function calling** with defined schemas
|
||||
- **Structured outputs**
|
||||
- **Agentic operations** (e.g. browser tasks, code execution where supported)
|
||||
|
||||
The model can detect when to invoke tools, emit structured JSON tool calls, and consume tool outputs to continue generation. Tool-calling behavior follows Qwen3-style schemas.
|
||||
|
||||
### Example Tool Call
|
||||
|
||||
```json
|
||||
{
|
||||
"name": "get_weather",
|
||||
"arguments": {
|
||||
"city": "Paris",
|
||||
"date": "2026-02-10"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Dual-Mode Inference (Thinking / Non-Thinking)
|
||||
|
||||
LittleLamb 0.3B Tool-Calling inherits Qwen3's dual-mode capability, supporting seamless switching between **thinking mode** (for complex reasoning) and **non-thinking mode** (for efficient general-purpose dialogue).
|
||||
|
||||
The model generates internal reasoning in Qwen3's thinking format (see the Qwen3 chat template) before producing the final response. Use this for tasks requiring multi-step reasoning, math, or code generation.
|
||||
|
||||
Set `enable_thinking=False` for lower-latency dialogue without explicit chain-of-thought in the template. Follow the **sampling parameters** recommended in the [Qwen3-0.6B model card](https://huggingface.co/Qwen/Qwen3-0.6B) for each mode.
|
||||
|
||||
---
|
||||
|
||||
## Training & Fine-Tuning
|
||||
|
||||
### Base Model: Qwen3-0.6B
|
||||
|
||||
The base model [Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) is a causal language model from the Qwen3 family, supporting thinking/non-thinking modes. See the [Qwen3 technical report](https://arxiv.org/abs/2505.09388) for details.
|
||||
|
||||
### CompactifAI Compression & Tool-Calling Fine-Tuning
|
||||
|
||||
- **Compression:** CompactifAI was applied to produce a smaller, efficient model (~0.3B parameters) while aiming to preserve reasoning capabilities.
|
||||
- **Tool-calling fine-tuning:** This variant includes additional fine-tuning for function calling and structured outputs on top of the compressed LittleLamb base.
|
||||
|
||||
---
|
||||
|
||||
## Architecture
|
||||
|
||||
### Model Specifications
|
||||
|
||||
|
||||
| Field | Value |
|
||||
| ---------------- | ----------------------------------------------------------------------- |
|
||||
| Base model | [Qwen/Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) (0.6B params) |
|
||||
| Total parameters | 290M dense |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Evaluation & Benchmarks
|
||||
|
||||
### Evaluation Methodology
|
||||
|
||||
Benchmark scores were obtained with the following setups. Methodology varies by benchmark family.
|
||||
|
||||
For **LittleLamb 0.3B Tool-Calling** and **Qwen3-0.6B (base)**, benchmark runs are reported under both **thinking** and **non-thinking** chat modes using the sampling settings recommended in the [Qwen3-0.6B model card](https://huggingface.co/Qwen/Qwen3-0.6B).
|
||||
|
||||
#### MMLU-Pro, GPQA Diamond, IFBench
|
||||
|
||||
- **Evaluation framework**: [Nemo-skills](https://github.com/NVIDIA/NeMo-Skills)
|
||||
- **Inference library**: vLLM 0.18.0
|
||||
- **Thinking mode** (`enable_thinking=True`, per Qwen3-0.6B instruct): temperature = 0.6, top_p = 0.95, top_k = 20, min_p = 0
|
||||
- **Non-thinking mode** (`enable_thinking=False`, per Qwen3-0.6B instruct): temperature = 0.7, top_p = 0.8, top_k = 20, min_p = 0
|
||||
|
||||
#### BFCL v4, τ²-Bench
|
||||
|
||||
- **Evaluation framework**: [EvalScope](https://github.com/EvalScope/EvalScope)
|
||||
- **Inference library**: vLLM 0.18.0
|
||||
- **Thinking mode** (`enable_thinking=True`, per Qwen3-0.6B instruct): temperature = 0.6, top_p = 0.95, top_k = 20, min_p = 0
|
||||
- **Non-thinking mode** (`enable_thinking=False`, per Qwen3-0.6B instruct): temperature = 0.7, top_p = 0.8, top_k = 20, min_p = 0
|
||||
- Results of `functiongemma-270m-it` for BFCL v4 were extracted from [Google's model card](https://huggingface.co/google/functiongemma-270m-it) (09/04/2026)
|
||||
|
||||
|
||||
### Quantitative Results
|
||||
|
||||
Reported numbers use the methodology described above.
|
||||
|
||||
#### Thinking mode
|
||||
|
||||
|
||||
| Benchmark | functiongemma-270m-it | Qwen3-0.6B (think) | LittleLamb-TC 0.3B (think) |
|
||||
| --------------------------- | --------------------- | ------------------ | -------------------------- |
|
||||
| IFBench | 12.00 | 23.88 | 20.00 |
|
||||
| GPQA Diamond | 2.53 | 29.59 | 27.47 |
|
||||
| MMLU-Pro | 0.42 | 38.27 | 28.74 |
|
||||
| τ²-Bench | 5.05 | 19.59 | 18.70 |
|
||||
| BFCL Simple | 61.60 | 72.73 | 72.36 |
|
||||
| BFCL Multiple | 63.50 | 85.00 | 89.50 |
|
||||
| BFCL Parallel | 39.00 | 70.00 | 70.00 |
|
||||
| BFCL Parallel Multiple | 29.50 | 71.50 | 68.00 |
|
||||
| BFCL Live Simple | 36.20 | 63.18 | 64.34 |
|
||||
| BFCL Live Multiple | 25.70 | 56.41 | 60.78 |
|
||||
| BFCL Live Parallel | 22.90 | 50.00 | 62.50 |
|
||||
| BFCL Live Parallel Multiple | 20.80 | 50.00 | 45.83 |
|
||||
| BFCL Relevance | 61.10 | 75.00 | 75.00 |
|
||||
| BFCL Irrelevance | 73.70 | 84.58 | 77.92 |
|
||||
| **BFCL v4** | 27.03 | 54.08 | 51.55 |
|
||||
|
||||
|
||||
#### Non-thinking mode
|
||||
|
||||
|
||||
| Benchmark | functiongemma-270m-it | Qwen3-0.6B (no think) | LittleLamb-TC 0.3B (no think) |
|
||||
| --------------------------- | --------------------- | --------------------- | ----------------------------- |
|
||||
| IFBench | 12.00 | 23.80 | 21.00 |
|
||||
| GPQA Diamond | 2.53 | 27.77 | 27.37 |
|
||||
| MMLU-Pro | 0.42 | 25.72 | 23.71 |
|
||||
| τ²-Bench | 5.05 | 15.50 | 26.67 |
|
||||
| BFCL Simple | 61.60 | 12.73 | 70.55 |
|
||||
| BFCL Multiple | 63.50 | 20.00 | 80.50 |
|
||||
| BFCL Parallel | 39.00 | 18.00 | 71.50 |
|
||||
| BFCL Parallel Multiple | 29.50 | 30.50 | 70.50 |
|
||||
| BFCL Live Simple | 36.20 | 4.65 | 62.02 |
|
||||
| BFCL Live Multiple | 25.70 | 11.02 | 50.43 |
|
||||
| BFCL Live Parallel | 22.90 | 0.00 | 43.75 |
|
||||
| BFCL Live Parallel Multiple | 20.80 | 12.50 | 29.17 |
|
||||
| BFCL Relevance | 61.10 | 12.50 | 75.00 |
|
||||
| BFCL Irrelevance | 73.70 | 97.50 | 87.50 |
|
||||
| **BFCL v4** | 27.03 | 29.17 | 50.51 |
|
||||
|
||||
|
||||

|
||||
|
||||
|
||||
BFCL V4 is the de facto industry standard for evaluating function-calling (tool-use) capability. It tests whether models can correctly generate structured function calls in response to user queries, across simple single-call scenarios, parallel calls, multi-turn conversations, and complex agentic workflows.
|
||||
|
||||
### Quantitative Results (Inference Performance)
|
||||
|
||||
#### Metrics reported
|
||||
- **System Output Throughput (higher is better)**: Mean output tokens per second across all concurrent requests over the benchmarking phase.
|
||||
- **End-to-End Latency per Query (lower is better):** Median end-to-end response time for each query from the time the query is sent.
|
||||
- **Output Speed per Query (higher is better):** Median output tokens per second after the first token is received for each query.
|
||||
- **Time to first token (TTFT) (lower is better):** Median
|
||||
- **Estimated Peak Memory Usage (lower is better):** KV cache utilization is monitored during the phase and we estimate memory usage as follows: $model\_ weights_{gb} + kv\_ cache_{usage\_pct} × (nvml\_used_{gb} − model\_ weights_{gb})$
|
||||
- **Model weights (lower is better):**
|
||||
|
||||
|
||||
|
||||
#### Performance evaluation conditions
|
||||
|
||||
Our performance evaluation follows the spirit of [Artificial Analysis](https://artificialanalysis.ai/methodology/system-load-test).
|
||||
|
||||
- **Inference library**: vLLM 0.18.0
|
||||
- **Monitoring libraries**: GuideLLM 0.6.0, nvidia-ml-py 13.590.48
|
||||
- **Hardware**: 1× NVIDIA L4 GPU
|
||||
- **Conditions**: concurrency=16
|
||||
- **Phase duration**: Each phase lasts 3 minutes (excluding ramp-up and cool-down periods).
|
||||
- **Workload shape**: 1,000 input tokens and 1,000 output tokens per query.
|
||||
- **Streaming**: Benchmarking is conducted with streaming enabled.
|
||||
|
||||
|
||||
**Summary of improvements:** LittleLamb shows a slight improvement in performance with respect to the original Qwen Model. This is expected as for such small models, VRAM usage is dominated by KV cache and not model weights.
|
||||
|
||||

|
||||
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Languages
|
||||
|
||||
- **Primary languages**: English. Spanish is yet to be tested for tool-calling capabilities.
|
||||
|
||||
---
|
||||
|
||||
## Intended Use
|
||||
|
||||
### Recommended Use Cases
|
||||
|
||||
Aligned with [Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) use cases, with the added benefit of tool-calling capabilities in a smaller footprint suitable for edge and on-device deployment:
|
||||
|
||||
- **Function calling and agentic workflows** in resource-constrained environments
|
||||
- **On-device and edge inference** where memory and compute are constrained
|
||||
- **Structured output generation** (JSON, schemas)
|
||||
- **Reasoning tasks** with configurable thinking/non-thinking modes
|
||||
- **Chatbots and virtual assistants** with tool integration
|
||||
|
||||
### Out-of-Scope Uses
|
||||
|
||||
- Harmful, illegal, or deceptive content generation
|
||||
- Impersonation of real individuals without consent
|
||||
- High-risk decision-making without human oversight
|
||||
- Surveillance or tracking of individuals
|
||||
- Any use that violates applicable laws or regulations
|
||||
|
||||
---
|
||||
|
||||
## Safety & Limitations
|
||||
|
||||
### Known Limitations
|
||||
|
||||
- **Model scale:** At ~0.3B parameters, this is an ultra-compact model. Several frontier-scale benchmarks (GDPval-AA, Terminal-Bench Hard, AA-LCR, CritPt) produce no discriminative signal at this model size, as the base Qwen3-0.6B itself scores near zero on them.
|
||||
- **Thinking mode:** Performance differs substantially between thinking and non-thinking modes across benchmarks. Users should evaluate both modes for their specific use case.
|
||||
- **Tool calling:** While fine-tuned for tool use, accuracy and reliability of tool calls should be validated for production use cases given the model's compact size.
|
||||
|
||||
### Recommendations
|
||||
|
||||
- Use human oversight for critical applications
|
||||
- Perform task-specific evaluation prior to deployment
|
||||
- Test both thinking and non-thinking modes for your use case
|
||||
- Validate tool-call outputs before executing them in production
|
||||
|
||||
---
|
||||
|
||||
## Model Information
|
||||
|
||||
|
||||
| Field | Value |
|
||||
| ------------ | --------------------------------------------------------------------------- |
|
||||
| Model name | LittleLamb Tool-Calling |
|
||||
| Based on | [Qwen/Qwen3-0.6B](https://huggingface.co/Qwen/Qwen3-0.6B) |
|
||||
| Version | 2604 |
|
||||
| Release date | 28/04/2026 |
|
||||
| Developed by | Multiverse Computing |
|
||||
| License | Apache 2.0 |
|
||||
| Contact | [business@multiversecomputing.com](mailto:business@multiversecomputing.com) |
|
||||
|
||||
|
||||
---
|
||||
|
||||
## Citation
|
||||
|
||||
If you use this model, please cite the base model and this variant:
|
||||
|
||||
```bibtex
|
||||
@misc{qwen3technicalreport,
|
||||
title = {Qwen3 Technical Report},
|
||||
author = {Qwen Team},
|
||||
year = {2025},
|
||||
eprint = {2505.09388},
|
||||
archivePrefix = {arXiv},
|
||||
primaryClass = {cs.CL},
|
||||
url = {https://arxiv.org/abs/2505.09388}
|
||||
}
|
||||
@misc{littlelambtc,
|
||||
title = {LittleLamb Tool-Calling: Compressed Qwen3-0.6B with Tool-Use via CompactifAI},
|
||||
author = {Multiverse Computing},
|
||||
year = {2026},
|
||||
url = {https://huggingface.co/MultiverseComputingCAI/LittleLamb-ToolCalling},
|
||||
note = {Model developed based on Qwen/Qwen3-0.6B using CompactifAI technology, fine-tuned for tool calling}
|
||||
}
|
||||
```
|
||||
|
||||
**Built by [Multiverse Computing](https://www.multiversecomputing.com)** · [Report an issue](https://huggingface.co/MultiverseComputingCAI/LittleLamb-ToolCalling/discussions) · [Discord](https://discord.gg/cGas9uStqp)
|
||||
28
added_tokens.json
Normal file
28
added_tokens.json
Normal file
@@ -0,0 +1,28 @@
|
||||
{
|
||||
"</think>": 151668,
|
||||
"</tool_call>": 151658,
|
||||
"</tool_response>": 151666,
|
||||
"<think>": 151667,
|
||||
"<tool_call>": 151657,
|
||||
"<tool_response>": 151665,
|
||||
"<|box_end|>": 151649,
|
||||
"<|box_start|>": 151648,
|
||||
"<|endoftext|>": 151643,
|
||||
"<|file_sep|>": 151664,
|
||||
"<|fim_middle|>": 151660,
|
||||
"<|fim_pad|>": 151662,
|
||||
"<|fim_prefix|>": 151659,
|
||||
"<|fim_suffix|>": 151661,
|
||||
"<|im_end|>": 151645,
|
||||
"<|im_start|>": 151644,
|
||||
"<|image_pad|>": 151655,
|
||||
"<|object_ref_end|>": 151647,
|
||||
"<|object_ref_start|>": 151646,
|
||||
"<|quad_end|>": 151651,
|
||||
"<|quad_start|>": 151650,
|
||||
"<|repo_name|>": 151663,
|
||||
"<|video_pad|>": 151656,
|
||||
"<|vision_end|>": 151653,
|
||||
"<|vision_pad|>": 151654,
|
||||
"<|vision_start|>": 151652
|
||||
}
|
||||
3
assets/littlelamb-tc-intelligence-family.png
Normal file
3
assets/littlelamb-tc-intelligence-family.png
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:04e26427dee88698bffc2c20e13367184558ff118cf055dc447a63c66c53754a
|
||||
size 151726
|
||||
3
assets/littlelamb-tc-performance-family.png
Normal file
3
assets/littlelamb-tc-performance-family.png
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1d80d8ef5d352951ccfa4cda57a7d5ea2e12d518624879758e992b9ec38979e6
|
||||
size 378704
|
||||
89
chat_template.jinja
Normal file
89
chat_template.jinja
Normal file
@@ -0,0 +1,89 @@
|
||||
{%- if tools %}
|
||||
{{- '<|im_start|>system\n' }}
|
||||
{%- if messages[0].role == 'system' %}
|
||||
{{- messages[0].content + '\n\n' }}
|
||||
{%- endif %}
|
||||
{{- "# Tools\n\nYou may call one or more functions to assist with the user query.\n\nYou are provided with function signatures within <tools></tools> XML tags:\n<tools>" }}
|
||||
{%- for tool in tools %}
|
||||
{{- "\n" }}
|
||||
{{- tool | tojson }}
|
||||
{%- endfor %}
|
||||
{{- "\n</tools>\n\nFor each function call, return a json object with function name and arguments within <tool_call></tool_call> XML tags:\n<tool_call>\n{\"name\": <function-name>, \"arguments\": <args-json-object>}\n</tool_call><|im_end|>\n" }}
|
||||
{%- else %}
|
||||
{%- if messages[0].role == 'system' %}
|
||||
{{- '<|im_start|>system\n' + messages[0].content + '<|im_end|>\n' }}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- set ns = namespace(multi_step_tool=true, last_query_index=messages|length - 1) %}
|
||||
{%- for message in messages[::-1] %}
|
||||
{%- set index = (messages|length - 1) - loop.index0 %}
|
||||
{%- if ns.multi_step_tool and message.role == "user" and message.content is string and not(message.content.startswith('<tool_response>') and message.content.endswith('</tool_response>')) %}
|
||||
{%- set ns.multi_step_tool = false %}
|
||||
{%- set ns.last_query_index = index %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- for message in messages %}
|
||||
{%- if message.content is string %}
|
||||
{%- set content = message.content %}
|
||||
{%- else %}
|
||||
{%- set content = '' %}
|
||||
{%- endif %}
|
||||
{%- if (message.role == "user") or (message.role == "system" and not loop.first) %}
|
||||
{{- '<|im_start|>' + message.role + '\n' + content + '<|im_end|>' + '\n' }}
|
||||
{%- elif message.role == "assistant" %}
|
||||
{%- set reasoning_content = '' %}
|
||||
{%- if message.reasoning_content is string %}
|
||||
{%- set reasoning_content = message.reasoning_content %}
|
||||
{%- else %}
|
||||
{%- if '</think>' in content %}
|
||||
{%- set reasoning_content = content.split('</think>')[0].rstrip('\n').split('<think>')[-1].lstrip('\n') %}
|
||||
{%- set content = content.split('</think>')[-1].lstrip('\n') %}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- if loop.index0 > ns.last_query_index %}
|
||||
{%- if loop.last or (not loop.last and reasoning_content) %}
|
||||
{{- '<|im_start|>' + message.role + '\n<think>\n' + reasoning_content.strip('\n') + '\n</think>\n\n' + content.lstrip('\n') }}
|
||||
{%- else %}
|
||||
{{- '<|im_start|>' + message.role + '\n' + content }}
|
||||
{%- endif %}
|
||||
{%- else %}
|
||||
{{- '<|im_start|>' + message.role + '\n' + content }}
|
||||
{%- endif %}
|
||||
{%- if message.tool_calls %}
|
||||
{%- for tool_call in message.tool_calls %}
|
||||
{%- if (loop.first and content) or (not loop.first) %}
|
||||
{{- '\n' }}
|
||||
{%- endif %}
|
||||
{%- if tool_call.function %}
|
||||
{%- set tool_call = tool_call.function %}
|
||||
{%- endif %}
|
||||
{{- '<tool_call>\n{"name": "' }}
|
||||
{{- tool_call.name }}
|
||||
{{- '", "arguments": ' }}
|
||||
{%- if tool_call.arguments is string %}
|
||||
{{- tool_call.arguments }}
|
||||
{%- else %}
|
||||
{{- tool_call.arguments | tojson }}
|
||||
{%- endif %}
|
||||
{{- '}\n</tool_call>' }}
|
||||
{%- endfor %}
|
||||
{%- endif %}
|
||||
{{- '<|im_end|>\n' }}
|
||||
{%- elif message.role == "tool" %}
|
||||
{%- if loop.first or (messages[loop.index0 - 1].role != "tool") %}
|
||||
{{- '<|im_start|>user' }}
|
||||
{%- endif %}
|
||||
{{- '\n<tool_response>\n' }}
|
||||
{{- content }}
|
||||
{{- '\n</tool_response>' }}
|
||||
{%- if loop.last or (messages[loop.index0 + 1].role != "tool") %}
|
||||
{{- '<|im_end|>\n' }}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
{%- endfor %}
|
||||
{%- if add_generation_prompt %}
|
||||
{{- '<|im_start|>assistant\n' }}
|
||||
{%- if enable_thinking is defined and enable_thinking is false %}
|
||||
{{- '<think>\n\n</think>\n\n' }}
|
||||
{%- endif %}
|
||||
{%- endif %}
|
||||
60
config.json
Normal file
60
config.json
Normal file
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"architectures": [
|
||||
"Qwen3ForCausalLM"
|
||||
],
|
||||
"attention_bias": false,
|
||||
"attention_dropout": 0.0,
|
||||
"bos_token_id": 151643,
|
||||
"dtype": "bfloat16",
|
||||
"eos_token_id": 151645,
|
||||
"head_dim": 128,
|
||||
"hidden_act": "silu",
|
||||
"hidden_size": 544,
|
||||
"initializer_range": 0.02,
|
||||
"intermediate_size": 2560,
|
||||
"layer_types": [
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention",
|
||||
"full_attention"
|
||||
],
|
||||
"max_position_embeddings": 40960,
|
||||
"max_window_layers": 28,
|
||||
"model_type": "qwen3",
|
||||
"num_attention_heads": 16,
|
||||
"num_hidden_layers": 28,
|
||||
"num_key_value_heads": 8,
|
||||
"rms_norm_eps": 1e-06,
|
||||
"rope_scaling": null,
|
||||
"rope_theta": 1000000,
|
||||
"sliding_window": null,
|
||||
"tie_word_embeddings": true,
|
||||
"transformers_version": "4.57.1",
|
||||
"use_cache": true,
|
||||
"use_sliding_window": false,
|
||||
"vocab_size": 151936
|
||||
}
|
||||
14
generation_config.json
Normal file
14
generation_config.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"bos_token_id": 151643,
|
||||
"do_sample": true,
|
||||
"eos_token_id": [
|
||||
151645,
|
||||
151643
|
||||
],
|
||||
"pad_token_id": 151643,
|
||||
"temperature": 0.6,
|
||||
"top_k": 20,
|
||||
"top_p": 0.95,
|
||||
"transformers_version": "4.57.1",
|
||||
"trust_remote_code": true
|
||||
}
|
||||
151388
merges.txt
Normal file
151388
merges.txt
Normal file
File diff suppressed because it is too large
Load Diff
3
model.safetensors
Normal file
3
model.safetensors
Normal file
@@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4fa60630124893be5fab6103f991f2781631deaeba6adda685a1bf7d23282ba5
|
||||
size 586551888
|
||||
31
special_tokens_map.json
Normal file
31
special_tokens_map.json
Normal file
@@ -0,0 +1,31 @@
|
||||
{
|
||||
"additional_special_tokens": [
|
||||
"<|im_start|>",
|
||||
"<|im_end|>",
|
||||
"<|object_ref_start|>",
|
||||
"<|object_ref_end|>",
|
||||
"<|box_start|>",
|
||||
"<|box_end|>",
|
||||
"<|quad_start|>",
|
||||
"<|quad_end|>",
|
||||
"<|vision_start|>",
|
||||
"<|vision_end|>",
|
||||
"<|vision_pad|>",
|
||||
"<|image_pad|>",
|
||||
"<|video_pad|>"
|
||||
],
|
||||
"eos_token": {
|
||||
"content": "<|im_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
},
|
||||
"pad_token": {
|
||||
"content": "<|endoftext|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false
|
||||
}
|
||||
}
|
||||
BIN
tokenizer.json
(Stored with Git LFS)
Normal file
BIN
tokenizer.json
(Stored with Git LFS)
Normal file
Binary file not shown.
239
tokenizer_config.json
Normal file
239
tokenizer_config.json
Normal file
@@ -0,0 +1,239 @@
|
||||
{
|
||||
"add_bos_token": false,
|
||||
"add_prefix_space": false,
|
||||
"added_tokens_decoder": {
|
||||
"151643": {
|
||||
"content": "<|endoftext|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151644": {
|
||||
"content": "<|im_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151645": {
|
||||
"content": "<|im_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151646": {
|
||||
"content": "<|object_ref_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151647": {
|
||||
"content": "<|object_ref_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151648": {
|
||||
"content": "<|box_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151649": {
|
||||
"content": "<|box_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151650": {
|
||||
"content": "<|quad_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151651": {
|
||||
"content": "<|quad_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151652": {
|
||||
"content": "<|vision_start|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151653": {
|
||||
"content": "<|vision_end|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151654": {
|
||||
"content": "<|vision_pad|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151655": {
|
||||
"content": "<|image_pad|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151656": {
|
||||
"content": "<|video_pad|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": true
|
||||
},
|
||||
"151657": {
|
||||
"content": "<tool_call>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151658": {
|
||||
"content": "</tool_call>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151659": {
|
||||
"content": "<|fim_prefix|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151660": {
|
||||
"content": "<|fim_middle|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151661": {
|
||||
"content": "<|fim_suffix|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151662": {
|
||||
"content": "<|fim_pad|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151663": {
|
||||
"content": "<|repo_name|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151664": {
|
||||
"content": "<|file_sep|>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151665": {
|
||||
"content": "<tool_response>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151666": {
|
||||
"content": "</tool_response>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151667": {
|
||||
"content": "<think>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
},
|
||||
"151668": {
|
||||
"content": "</think>",
|
||||
"lstrip": false,
|
||||
"normalized": false,
|
||||
"rstrip": false,
|
||||
"single_word": false,
|
||||
"special": false
|
||||
}
|
||||
},
|
||||
"additional_special_tokens": [
|
||||
"<|im_start|>",
|
||||
"<|im_end|>",
|
||||
"<|object_ref_start|>",
|
||||
"<|object_ref_end|>",
|
||||
"<|box_start|>",
|
||||
"<|box_end|>",
|
||||
"<|quad_start|>",
|
||||
"<|quad_end|>",
|
||||
"<|vision_start|>",
|
||||
"<|vision_end|>",
|
||||
"<|vision_pad|>",
|
||||
"<|image_pad|>",
|
||||
"<|video_pad|>"
|
||||
],
|
||||
"bos_token": null,
|
||||
"clean_up_tokenization_spaces": false,
|
||||
"eos_token": "<|im_end|>",
|
||||
"errors": "replace",
|
||||
"extra_special_tokens": {},
|
||||
"model_max_length": 131072,
|
||||
"pad_token": "<|endoftext|>",
|
||||
"split_special_tokens": false,
|
||||
"tokenizer_class": "Qwen2Tokenizer",
|
||||
"unk_token": null
|
||||
}
|
||||
1
vocab.json
Normal file
1
vocab.json
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user