Instructions to use pipecat-ai/phonellm-max-alpha-2 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use pipecat-ai/phonellm-max-alpha-2 with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="pipecat-ai/phonellm-max-alpha-2") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("pipecat-ai/phonellm-max-alpha-2") model = AutoModelForCausalLM.from_pretrained("pipecat-ai/phonellm-max-alpha-2", device_map="auto") 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=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use pipecat-ai/phonellm-max-alpha-2 with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "pipecat-ai/phonellm-max-alpha-2" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "pipecat-ai/phonellm-max-alpha-2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/pipecat-ai/phonellm-max-alpha-2
- SGLang
How to use pipecat-ai/phonellm-max-alpha-2 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 "pipecat-ai/phonellm-max-alpha-2" \ --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": "pipecat-ai/phonellm-max-alpha-2", "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 "pipecat-ai/phonellm-max-alpha-2" \ --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": "pipecat-ai/phonellm-max-alpha-2", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use pipecat-ai/phonellm-max-alpha-2 with Docker Model Runner:
docker model run hf.co/pipecat-ai/phonellm-max-alpha-2
PhoneLLM Alpha 2: a blazingly fast, open-weights text model designed to be integrated into voice agent pipelines.
This new version is available in two variants: Mini for speed, and Max for accuracy.
Check out our blog post to find out more about the improvements we made, and how we trained the models:
https://www.daily.co/blog/phonellm-alpha-2/
Pipecat PhoneLLM Max Alpha 2
PhoneLLM Max Alpha 2 is a full-parameter supervised fine-tune of the language backbone of NVIDIA Nemotron 3.5 Super VL 120B-A12B for phone voice agents with tool calling.
- Architecture: text-only
NemotronHForCausalLM(the vision encoder and projector were removed before training); bfloat16 safetensors - Requirements: transformers >= 5.8 (native NemotronH, no remote code) or vLLM >= 0.30
- Thinking is ON: the model emits one short sentence of reasoning before every response — we refer to
this as "microthinking". The model has not been trained to run with thinking disabled.
- The bundled
chat_template.jinjais the stock Nemotron template (thinking on by default). - Serve with
--reasoning-parser nemotron_v3and sendchat_template_kwargs: {"enable_thinking": true, "truncate_history_thinking": false}on every request — the parser reads the mode from the request, so a request that omits the kwargs has its reply filed underreasoning. - The thought comes back in the message's
reasoningfield; to keep earlier thoughts in the prompt (as in training) re-send each assistant message with itsreasoning.
- The bundled
- Recommended settings:
temperature=0.
Serving with vLLM
Measured recipe (vLLM 0.30, two B200s with tensor parallelism: ~210 tok/s single-stream decode, ~27 ms TTFT, ~5.8k tok/s aggregate at 128 concurrent requests). The ~240 GB of bf16 weights need two 180 GB+ GPUs; B300:2 is the same speed.
vllm serve pipecat-ai/phonellm-max-alpha-2 \
--served-model-name phonellm-max-alpha-2 \
--tensor-parallel-size 2 \
--dtype bfloat16 \
--max-model-len 32768 \
--gpu-memory-utilization 0.90 \
--max-num-seqs 256 \
--kv-cache-dtype fp8 \
--enable-prefix-caching \
--async-scheduling \
--mamba-ssm-cache-dtype float32 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder \
--reasoning-parser nemotron_v3
- Do not add
--enforce-eager: CUDA graphs are ~7x faster decode on this model. - If CUDA-graph capture runs out of memory, use
--max-num-seqs 64 --max-cudagraph-capture-size 64(bf16 KV cache, also measured) rather than eager mode. fp8 KV only saves memory here (the model has few attention layers); it does not change outputs measurably. - To make thinking unconditional on a shared endpoint, rewrite requests server-side (we run a small ASGI
middleware through vLLM's
--middleware) rather than editing the template: the reasoning parser must agree with the template on the mode. - The weights include the base model's multi-token-prediction (MTP) block; the recipe above does not use it.
License
PhoneLLM Max Alpha 2 is released under the OpenMDW License Agreement, version 1.1, the same licence as its base model, NVIDIA Nemotron 3.5 Super VL 120B-A12B. If you redistribute this model or your own derivatives of it, you must retain (1) a copy of the OpenMDW License Agreement and (2) the copyright notices and other notices of origin that apply to your distribution. "Nemotron" and "NVIDIA" are trademarks of NVIDIA Corporation, used here only to describe the origin of the base model.
- Downloads last month
- 471