Text Generation
Transformers
Safetensors
English
qwen3_5_text
qwen3_5
deepseek
reasoning
faunix
qwenseek
qwen
conversational
Instructions to use faunix/QwenSeek-2B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use faunix/QwenSeek-2B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="faunix/QwenSeek-2B") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("faunix/QwenSeek-2B") model = AutoModelForCausalLM.from_pretrained("faunix/QwenSeek-2B") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps
- vLLM
How to use faunix/QwenSeek-2B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "faunix/QwenSeek-2B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "faunix/QwenSeek-2B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/faunix/QwenSeek-2B
- SGLang
How to use faunix/QwenSeek-2B with SGLang:
Install from pip and serve model
# Install SGLang from pip: pip install sglang # Start the SGLang server: python3 -m sglang.launch_server \ --model-path "faunix/QwenSeek-2B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "faunix/QwenSeek-2B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker images
docker run --gpus all \ --shm-size 32g \ -p 30000:30000 \ -v ~/.cache/huggingface:/root/.cache/huggingface \ --env "HF_TOKEN=<secret>" \ --ipc=host \ lmsysorg/sglang:latest \ python3 -m sglang.launch_server \ --model-path "faunix/QwenSeek-2B" \ --host 0.0.0.0 \ --port 30000 # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:30000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "faunix/QwenSeek-2B", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use faunix/QwenSeek-2B with Docker Model Runner:
docker model run hf.co/faunix/QwenSeek-2B
| license: apache-2.0 | |
| language: | |
| - en | |
| base_model: | |
| - Qwen/Qwen3.5-2B | |
| pipeline_tag: text-generation | |
| library_name: transformers | |
| tags: | |
| - qwen3_5 | |
| - deepseek | |
| - reasoning | |
| - faunix | |
| - qwenseek | |
| - qwen | |
| datasets: | |
| - Jackrong/DeepSeek-V4-Distill-8000x | |
|  | |
| # Introducing | |
| **QwenSeek-2B** - distillation of thinking of **DeepSeek V4** into **Qwen3.5-2B**! | |
| We conducted the distillation of thinking(mainly of the <think></think> blocks) from the DeepSeek-V4 model, to Qwen3.5-2B. Now this is your mini DeepSeek! | |
| # Training | |
| | | | | |
| | :--- | :--- | | |
| | Teacher Model | deepseek-ai/DeepSeek-V4-Flash | | |
| | Student Model | Qwen/Qwen3.5-2B | | |
| | Dataset | Jackrong/DeepSeek-V4-Distill-8000x | |
| | Number of examples | ~8K | | |
| | Number of passed epochs | 1 | | |
| | Training time | ~9-10 hours | | |
| | Number of steps passed | 250 | | |
| | Hardware | T4 x 1(Kaggle) | | |
| # Benchmarks | |
| We could not conduct benchmarks, therefore, if someone wants to conduct them with our model, please, leave the results in the Community. We will definitely add them HERE! | |
| # Our Socials | |
| We wanted to let you know that we have a Twitter/X account! To be the first to hear about our model releases and other stuff, follow us here: | |
| [](https://x.com/Faunix_AI) | |
| # Usage | |
| ## Quickstart | |
| > [!Important] | |
| > QwenSeek models support both non-thinking and thinking mode. **QwenSeek-2B operates in non-thinking mode by default**. | |
| > To enable thinking, refer to the examples [here](#thinking-mode). | |
| For streamlined integration, we recommend using QwenSeek via APIs. Below is a guide to use QwenSeek via OpenAI-compatible API. | |
| ### Serving QwenSeek | |
| QwenSeek can be served via APIs with popular inference frameworks. | |
| In the following, we show example commands to launch OpenAI-Compatible API servers for QwenSeek models. | |
| >[!Important] | |
| > Inference efficiency and throughput vary significantly across frameworks. | |
| > We recommend using the latest framework versions to ensure optimal performance and compatibility. | |
| > For production workloads or high-throughput scenarios, dedicated serving engines such as SGLang, KTransformers or vLLM are strongly recommended. | |
| > [!Important] | |
| > The model has a default context length of 262,144 tokens. | |
| > If you encounter out-of-memory (OOM) errors, consider reducing the context window. | |
| #### SGLang | |
| [SGLang](https://github.com/sgl-project/sglang) is a fast serving framework for large language models and vision language models. | |
| SGLang from the main branch of the open-source repository is required for QwenSeek, which can be installed using the following command in a fresh environment: | |
| ```shell | |
| uv pip install 'git+https://github.com/sgl-project/sglang.git#subdirectory=python&egg=sglang[all]' | |
| ``` | |
| See [its documentation](https://docs.sglang.ai/get_started/install.html) for more details. | |
| The following will create API endpoints at `http://localhost:8000/v1`: | |
| - **Standard Version**: The following command can be used to create an API endpoint with maximum context length 262,144 tokens using tensor parallel on 8 GPUs. | |
| ```shell | |
| python -m sglang.launch_server --model-path faunix/QwenSeek-2B --port 8000 --tp-size 1 --mem-fraction-static 0.8 --context-length 262144 | |
| ``` | |
| - **Tool Use**: To support tool use, you can use the following command. | |
| ```shell | |
| python -m sglang.launch_server --model-path faunix/QwenSeek-2B --port 8000 --tp-size 1 --mem-fraction-static 0.8 --context-length 262144 --tool-call-parser qwen3_coder | |
| ``` | |
| - **Multi-Token Prediction (MTP)**: The following command is recommended for MTP: | |
| ```shell | |
| python -m sglang.launch_server --model-path faunix/QwenSeek-2B --port 8000 --tp-size 1 --mem-fraction-static 0.8 --context-length 262144 --speculative-algo NEXTN --speculative-num-steps 3 --speculative-eagle-topk 1 --speculative-num-draft-tokens 4 | |
| ``` | |
| #### vLLM | |
| [vLLM](https://github.com/vllm-project/vllm) is a high-throughput and memory-efficient inference and serving engine for LLMs. | |
| vLLM from the main branch of the open-source repository is required for QwenSeek, which can be installed using the following command in a fresh environment: | |
| ```shell | |
| uv pip install vllm --torch-backend=auto --extra-index-url https://wheels.vllm.ai/nightly | |
| ``` | |
| See[its documentation](https://docs.vllm.ai/en/stable/getting_started/installation/index.html) for more details. | |
| For detailed QwenSeek usage guide, see the[vLLM QwenSeek recipe](https://docs.vllm.ai/projects/recipes/en/latest/Qwen/Qwen3.5.html). | |
| The following will create API endpoints at `http://localhost:8000/v1`: | |
| - **Standard Version**: The following command can be used to create an API endpoint with maximum context length 262,144 tokens using tensor parallel on 8 GPUs. | |
| ```shell | |
| vllm serve faunix/QwenSeek-2B --port 8000 --tensor-parallel-size 1 --max-model-len 262144 | |
| ``` | |
| - **Tool Call**: To support tool use, you can use the following command. | |
| ```shell | |
| vllm serve faunix/QwenSeek-2B --port 8000 --tensor-parallel-size 1 --max-model-len 262144 --enable-auto-tool-choice --tool-call-parser qwen3_coder | |
| ``` | |
| - **Multi-Token Prediction (MTP)**: The following command is recommended for MTP: | |
| ```shell | |
| vllm serve faunix/QwenSeek-2B --port 8000 --tensor-parallel-size 1 --max-model-len 262144 --speculative-config '{"method":"qwen3_next_mtp","num_speculative_tokens":2}' | |
| ``` | |
| - **Text-Only**: The following command skips the vision encoder and multimodal profiling to free up memory for additional KV cache: | |
| ```shell | |
| vllm serve faunix/QwenSeek-2B --port 8000 --tensor-parallel-size 1 --max-model-len 262144 --language-model-only | |
| ``` | |
| #### KTransformers | |
| [KTransformers](https://github.com/kvcache-ai/ktransformers) is a flexible framework for experiencing cutting-edge LLM inference optimizations with CPU-GPU heterogeneous computing. | |
| For running QwenSeek with KTransformers, see the [KTransformers Deployment Guide](https://github.com/kvcache-ai/ktransformers/blob/main/doc/en/Qwen3.5.md). | |
| #### Hugging Face Transformers | |
| Hugging Face Transformers contains a _lightweight_ server which can be used for quick testing and moderate load deployment. | |
| The latest `transformers` is required for QwenSeek: | |
| ```shell | |
| pip install "transformers[serving] @ git+https://github.com/huggingface/transformers.git@main" | |
| ``` | |
| See [its documentation](https://huggingface.co/docs/transformers/main/serving) for more details. Please also make sure torchvision and pillow are installed. | |
| Then, run `transformers serve` to launch a server with API endpoints at `http://localhost:8000/v1`; it will place the model on accelerators if available: | |
| ```shell | |
| transformers serve --force-model faunix/QwenSeek-2B --port 8000 --continuous-batching | |
| ``` | |
| ### Using QwenSeek via the Chat Completions API | |
| The chat completions API is accessible via standard HTTP requests or OpenAI SDKs. | |
| Here, we show examples using the OpenAI Python SDK. | |
| Before starting, make sure it is installed and the API key and the API base URL is configured, e.g.: | |
| ```shell | |
| pip install -U openai | |
| # Set the following accordingly | |
| export OPENAI_BASE_URL="http://localhost:8000/v1" | |
| export OPENAI_API_KEY="EMPTY" | |
| ``` | |
| > [!Tip] | |
| > We recommend using the following set of sampling parameters for generation | |
| > - Non-thinking mode for text tasks: `temperature=1.0, top_p=1.00, top_k=20, min_p=0.0, presence_penalty=2.0, repetition_penalty=1.0` | |
| > - Thinking mode for text tasks: `temperature=1.0, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=1.5, repetition_penalty=1.0` | |
| > - Thinking mode for precise coding (e.g. WebDev) tasks : `temperature=0.6, top_p=0.95, top_k=20, min_p=0.0, presence_penalty=0.0, repetition_penalty=1.0` | |
| > | |
| > Please note that the support for sampling parameters varies according to inference frameworks. | |
| #### Text-Only Input | |
| ```python | |
| from openai import OpenAI | |
| # Configured by environment variables | |
| client = OpenAI() | |
| messages =[ | |
| {"role": "user", "content": "Give me a short introduction to large language models."}, | |
| ] | |
| chat_response = client.chat.completions.create( | |
| model="faunix/QwenSeek-2B", | |
| messages=messages, | |
| max_tokens=32768, | |
| temperature=1.0, | |
| top_p=1.0, | |
| presence_penalty=2.0, | |
| extra_body={ | |
| "top_k": 20, | |
| }, | |
| ) | |
| print("Chat response:", chat_response) | |
| ``` | |
| #### Thinking Mode | |
| > [!Important] | |
| > QwenSeek does not officially support the soft switch of Qwen3, i.e., `/think` and `/nothink`. | |
| You can make the model think before response by configuring the API parameters. | |
| For example, | |
| ```python | |
| from openai import OpenAI | |
| # Configured by environment variables | |
| client = OpenAI() | |
| messages =[ | |
| {"role": "user", "content": "Type \"I love QwenSeek\" backwards"}, | |
| ] | |
| chat_response = client.chat.completions.create( | |
| model="faunix/QwenSeek-2B", | |
| messages=messages, | |
| max_tokens=81920, | |
| temperature=1.0, | |
| top_p=0.95, | |
| presence_penalty=1.5, | |
| extra_body={ | |
| "top_k": 20, | |
| "enable_thinking": True, | |
| }, | |
| ) | |
| print("Chat response:", chat_response) | |
| ``` | |
| # About us... | |
| Honestly we say that... This model, as in principle Faunix itself was created by just 2 13-year-old schoolchildren from Russia. We really adore, and research AI, not just figuring it out, but creating our own! | |
| At the given moment, we work on Kaggle T4, and we... Lack resources. We trained this model in FP32, with 0.01 it\s, because FP16 is not supported by Qwen3.5, and BF16 is not supported by T4 🤣... Community, suggest where it is possible to, for example get grants for GPU or something like that. This is very important to us, as we have so many models in plans... But we banally do not have good GPUs... :) | |
| # Citation | |
| ```bibtex | |
| @misc{qwenseek2026, | |
| title={QwenSeek-2B: Distillation of thinking DeepSeek V4 into Qwen3.5-2B}, | |
| author={faunix}, | |
| year={2026}, | |
| url={https://huggingface.co/faunix/QwenSeek-2B} | |
| } | |
| ``` | |
| # Creator: Faunix | |
| # Release Date: 03.05.26 | |
| # Model Name: QwenSeek-2B | |
| # :) |