ToolACE-8B - AI Language Models Tool

Overview

ToolACE-8B is an 8-billion-parameter language model fine-tuned from Meta's Llama 3.1 8B Instruct family to specialize in function calling and tool usage workflows. It was trained on the Team-ACE ToolACE dataset, which the authors describe as an automatically synthesized, agentic pipeline for generating accurate, complex, and diverse tool-learning dialogs. The pipeline curates a large API pool and applies multi-agent dialog generation plus verification to create training data tailored for function-calling behavior. ([huggingface.co](https://huggingface.co/Team-ACE/ToolACE-8B)) The model and a subset of its data are published on Hugging Face and described in an ICLR 2025 submission (ToolACE: Winning the Points of LLM Function Calling). The paper and model card emphasize that, despite being an 8B model, ToolACE-trained checkpoints achieve top-tier results on the Berkeley Function-Calling Leaderboard (BFCL), with the authors explicitly comparing their function-calling performance to much larger models. The Hugging Face model card provides usage examples for producing structured function calls from natural-language queries. ([arxiv.org](https://arxiv.org/abs/2409.00920))

Model Statistics

  • Downloads: 12,508
  • Likes: 73
  • Parameters: 8.0B

License: apache-2.0

Model Details

Base architecture and training: ToolACE-8B is a finetuned checkpoint of meta-llama/Llama-3.1-8B-Instruct (8B parameters) provided in BF16 format on Hugging Face. The model uses the ToolACE synthetic dataset created by the Team-ACE pipeline; that pipeline includes a self-evolution synthesis stage that curated an API pool of 26,507 diverse APIs and a dual-layer verification system (rule-based + model-based) to filter and verify dialog correctness. These design elements are described in the authors' arXiv/ICLR paper and summarized on the model card. ([huggingface.co](https://huggingface.co/Team-ACE/ToolACE-8B)) Function-calling behavior and interface: ToolACE-8B is intended to accept a system prompt that exposes available functions (JSON/OpenAI-style function schemas) and to return structured function-call outputs (function name plus typed parameters) or sequences of calls when needed. The Hugging Face README includes a transformers-based example using tokenizer.apply_chat_template and model.generate to produce function-call outputs. The model is not listed as deployed by an external inference provider on the Hugging Face page (weights are hosted but hosted inference is provider-dependent). ([huggingface.co](https://huggingface.co/Team-ACE/ToolACE-8B))

Key Features

  • Finetuned from Llama-3.1-8B-Instruct for function-calling and tool use.
  • Trained on ToolACE synthetic dataset generated by a multi-agent pipeline.
  • Self-evolution synthesis curated an API pool of 26,507 diverse APIs.
  • Dual-layer verification (rule-based + model-based) to improve data accuracy.
  • Produces structured function calls (OpenAI-style JSON schemas) and multi-call chains.

Example Usage

Example (python):

from transformers import AutoTokenizer, AutoModelForCausalLM

model_name = "Team-ACE/ToolACE-8B"

# load tokenizer and model (auto device_map / dtype recommended)
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name, torch_dtype="auto", device_map="auto")

# system prompt should include a JSON list of available functions (see model README)
system_prompt = """You are an expert in composing functions. You are given a question and a set of possible functions. Return only the function call(s) in the required format. Here is the function list:\n{functions}\n"""

user_query = "Get me the sales growth rate and interest coverage ratio for company XYZ over the past 3 years."

# example function list (OpenAI-style JSON schema)
functions = [
    {
        "name": "sales_growth.calculate",
        "description": "Calculate a company's sales growth rate",
        "arguments": {"type": "dict", "properties": {"company": {"type": "string"}, "years": {"type": "integer"}}, "required": ["company","years"]}
    },
    {
        "name": "financial_ratios.interest_coverage",
        "description": "Calculate interest coverage ratio",
        "arguments": {"type": "dict", "properties": {"company_name": {"type": "string"}, "years": {"type": "integer"}}, "required": ["company_name","years"]}
    }
]

messages = [
    {"role": "system", "content": system_prompt.format(functions=functions)},
    {"role": "user", "content": user_query}
]

inputs = tokenizer.apply_chat_template(messages, add_generation_prompt=True, return_tensors="pt").to(model.device)
outputs = model.generate(inputs, max_new_tokens=512, do_sample=False, eos_token_id=tokenizer.eos_token_id)
print(tokenizer.decode(outputs[0][len(inputs[0]):], skip_special_tokens=True))

# Example adapted from the model README on Hugging Face. See the model page for additional usage notes and templates. (source: Hugging Face)

Benchmarks

Parameters: 8 billion (Source: https://huggingface.co/Team-ACE/ToolACE-8B)

Tensor type: BF16 (Source: https://huggingface.co/Team-ACE/ToolACE-8B)

Downloads (last month on Hugging Face): 12,508 (Source: https://huggingface.co/Team-ACE/ToolACE-8B)

License: Apache-2.0 (Source: https://huggingface.co/Team-ACE/ToolACE-8B)

BFCL (function-calling benchmark): Reported by authors as state-of-the-art for function-calling (ToolACE-trained models rival GPT-4 on BFCL) (Source: https://arxiv.org/abs/2409.00920)

Last Refreshed: 2026-02-24

Key Information

  • Category: Language Models
  • Type: AI Language Models Tool