モデル概要
モデル特徴
モデル能力
使用事例
🚀 xLAM-2モデルファミリーへようこそ!
Large Action Models (LAMs) は、ユーザーの意図を実行可能なアクションに変換することで意思決定を強化するために設計された高度な言語モデルです。AIエージェントの「頭脳」として、LAMsは特定の目標を達成するためにタスクを自律的に計画して実行し、多様なドメインのワークフローを自動化するのに非常に役立ちます。 このモデルのリリースは研究目的のみです。
新しい xLAM-2 シリーズは、最先端のデータ合成、処理、およびトレーニングパイプラインに基づいて構築されており、マルチターン会話 と ツール使用 の面で大きな飛躍を遂げています。シミュレートされたエージェントと人間の対話を通じて高品質のトレーニングデータを生成する独自のAPIGen-MTフレームワークを使用してトレーニングされています。当社のモデルは、BFCL と τ-bench ベンチマークで最先端の性能を達成し、GPT-4oやClaude 3.5などの最先端モデルを上回っています。特に、小型のモデルでもマルチターンシナリオで優れた機能を発揮し、試行間での一貫性も非常に高いです。
また、チャットテンプレート と vLLM統合 を改良し、高度なAIエージェントの構築を容易にしています。以前のxLAMモデルと比較して、xLAM-2は優れた性能を提供し、アプリケーション全体でシームレスなデプロイが可能です。
関数呼び出し (BFCL v3、2025年4月2日現在) とエージェント機能 (τ-bench) のベンチマークにおける、より大きなxLAM-2-fc-rモデル (8B - 70B、APIGen-MTデータでトレーニング) と最先端のベースラインモデルとの比較性能。
🚀 クイックスタート
モデルシリーズ
xLAM シリーズは、一般的なタスクや関数呼び出しなど、多くの点で非常に優れています。同じパラメータ数の場合、元のモデルの機能を維持しながら、幅広いエージェントタスクやシナリオでファインチューニングされています。
モデル | 総パラメータ数 | コンテキスト長 | カテゴリ | モデルのダウンロード | GGUFファイルのダウンロード |
---|---|---|---|---|---|
Llama-xLAM-2-70b-fc-r | 70B | 128k | マルチターン会話、関数呼び出し | 🤗 リンク | NA |
Llama-xLAM-2-8b-fc-r | 8B | 128k | マルチターン会話、関数呼び出し | 🤗 リンク | 🤗 リンク |
xLAM-2-32b-fc-r | 32B | 32k (最大128k)* | マルチターン会話、関数呼び出し | 🤗 リンク | NA |
xLAM-2-3b-fc-r | 3B | 32k (最大128k)* | マルチターン会話、関数呼び出し | 🤗 リンク | 🤗 リンク |
xLAM-2-1b-fc-r | 1B | 32k (最大128k)* | マルチターン会話、関数呼び出し | 🤗 リンク | 🤗 リンク |
*注: Qwen-2.5ベースのモデルのデフォルトのコンテキスト長は32kですが、YaRN (Yet Another Recursive Network) などの手法を使用することで最大128kのコンテキスト長を実現できます。詳細については こちら を参照してください。
以前のxLAMシリーズも こちら で探索できます。
-fc
サフィックスは、モデルが 関数呼び出し タスク用にファインチューニングされていることを示し、-r
サフィックスは 研究用 のリリースを意味します。
✅ すべてのモデルは、vLLMおよびTransformersベースの推論フレームワークと完全に互換性があります。
フレームワークのバージョン
- Transformers 4.46.1 (またはそれ以降)
- PyTorch 2.5.1+cu124 (またはそれ以降)
- Datasets 3.1.0 (またはそれ以降)
- Tokenizers 0.20.3 (またはそれ以降)
基本的な使用法
Huggingfaceチャットテンプレートを使用した基本的な使用法
新しいxLAMモデルは、Hugging Face Transformersライブラリとシームレスに連携するように設計されており、自然なチャットテンプレートを利用して、簡単で直感的な会話体験を提供します。以下は、これらのモデルを使用する方法の例です。
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("Salesforce/Llama-xLAM-2-3b-fc-r")
model = AutoModelForCausalLM.from_pretrained("Salesforce/Llama-xLAM-2-3b-fc-r", torch_dtype=torch.bfloat16, device_map="auto")
# Example conversation with a tool call
messages = [
{"role": "user", "content": "Hi, how are you?"},
{"role": "assistant", "content": "Thanks. I am doing well. How can I help you?"},
{"role": "user", "content": "What's the weather like in London?"},
]
tools = [
{
"name": "get_weather",
"description": "Get the current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {"type": "string", "description": "The city and state, e.g. San Francisco, CA"},
"unit": {"type": "string", "enum": ["celsius", "fahrenheit"], "description": "The unit of temperature to return"}
},
"required": ["location"]
}
}
]
print("====== prompt after applying chat template ======")
print(tokenizer.apply_chat_template(messages, tools=tools, add_generation_prompt=True, tokenize=False))
inputs = tokenizer.apply_chat_template(messages, tools=tools, add_generation_prompt=True, return_dict=True, return_tensors="pt")
input_ids_len = inputs["input_ids"].shape[-1] # Get the length of the input tokens
inputs = {k: v.to(model.device) for k, v in inputs.items()}
print("====== model response ======")
outputs = model.generate(**inputs, max_new_tokens=256)
generated_tokens = outputs[:, input_ids_len:] # Slice the output to get only the newly generated tokens
print(tokenizer.decode(generated_tokens[0], skip_special_tokens=True))
vLLMを使用した推論
xLAMモデルは、vLLMを使用して高スループットの推論を効率的に行うこともできます。Qwenベースのモデルでは、以前のバージョンでは性能が低下するため、vllm>=0.6.5
を使用してください。
セットアップとサービング
- 必要なバージョンのvLLMをインストールします。
pip install "vllm>=0.6.5"
- ツールパーサープラグインをローカルパスにダウンロードします。
wget https://huggingface.co/Salesforce/xLAM-2-1b-fc-r/raw/main/xlam_tool_call_parser.py
- OpenAI API互換のエンドポイントを起動します。
vllm serve Salesforce/xLAM-2-1b-fc-r \
--enable-auto-tool-choice \
--tool-parser-plugin ./xlam_tool_call_parser.py \
--tool-call-parser xlam \
--tensor-parallel-size 1
注: ツールパーサープラグインファイルがダウンロードされていること、および --tool-parser-plugin
で指定されたパスがローカルのファイルコピーを正しく指していることを確認してください。xLAMシリーズのモデルはすべて 同じ ツール呼び出しパーサーを使用するため、すべてのモデルに対して 1回だけ ダウンロードする必要があります。
OpenAI APIを使用したテスト
以下は、サーブされたエンドポイントでツールの使用をテストする最小限の例です。
import openai
import json
# Configure the client to use your local vLLM endpoint
client = openai.OpenAI(
base_url="http://localhost:8000/v1", # Default vLLM server URL
api_key="empty" # Can be any string
)
# Define a tool/function
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city and state, e.g. San Francisco, CA"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "The unit of temperature to return"
}
},
"required": ["location"]
}
}
}
]
# Create a chat completion
response = client.chat.completions.create(
model="Salesforce/xLAM-2-1b-fc-r", # Model name doesn't matter, vLLM uses the served model
messages=[
{"role": "system", "content": "You are a helpful assistant that can use tools."},
{"role": "user", "content": "What's the weather like in San Francisco?"}
],
tools=tools,
tool_choice="auto"
)
# Print the response
print("Assistant's response:")
print(json.dumps(response.model_dump(), indent=2))
より高度な設定やデプロイオプションについては、vLLMドキュメント を参照してください。
📚 ドキュメント
ベンチマーク結果
Berkeley Function-Calling Leaderboard (BFCL v3)
[BFCLリーダーボード](https://gorilla.cs.berkeley.edu/leaderboard.html) でのさまざまなモデルの性能比較。ランクは全体的な精度に基づいており、これはさまざまな評価カテゴリの加重平均です。「FC」は、関数呼び出しを抽出するためのカスタム「プロンプト」を使用するのとは対照的に、関数呼び出しモードを表します。
τ-benchベンチマーク
τ-benchベンチマークでの成功率 (pass@1) は、少なくとも5回の試行で平均化されています。当社のxLAM-2-70b-fc-rモデルは、τ-benchで全体的な成功率56.2%を達成し、ベースのLlama 3.1 70B Instructモデル (38.2%) やDeepSeek v3 (40.6%) などの他のオープンソースモデルを大きく上回っています。特に、当社の最高のモデルは、GPT-4o (52.9%) などの独占モデルさえも上回り、Claude 3.5 Sonnet (new) (60.1%) などの最近のモデルの性能に近づいています。
Pass^k曲線は、与えられたタスクに対して5回の独立した試行がすべて成功する確率を測定し、τ-retail (左) とτ-airline (右) ドメインのすべてのタスクで平均化されています。値が高いほど、モデルの一貫性が高いことを示します。
倫理的な考慮事項
このリリースは、学術論文のサポートのための研究目的のみです。当社のモデル、データセット、およびコードは、すべての下流の目的に特に設計または評価されていません。ユーザーは、このモデルをデプロイする前に、精度、安全性、および公正性に関連する潜在的な問題を評価して対処することを強くお勧めします。ユーザーは、AIの一般的な制限を考慮し、適用される法律に準拠し、特にエラーや誤用が人々の生活、権利、または安全に重大な影響を与える可能性のある高リスクシナリオでのユースケースを選択する際には、ベストプラクティスを活用することをお勧めします。ユースケースに関する詳細なガイダンスについては、当社のAUPおよびAI AUPを参照してください。
モデルのライセンス
すべてのLlama関連モデルについては、対応するLlamaライセンスおよび利用規約にも従ってください。Meta Llama 3は、Meta Llama 3 Community Licenseの下でライセンスされており、Copyright © Meta Platforms, Inc. All Rights Reservedです。
引用
もしあなたの研究で当社のモデルやデータセットを使用した場合、以下の論文を引用してください。
@article{prabhakar2025apigen,
title={APIGen-MT: Agentic PIpeline for Multi-Turn Data Generation via Simulated Agent-Human Interplay},
author={Prabhakar, Akshara and Liu, Zuxin and Zhu, Ming and Zhang, Jianguo and Awalgaonkar, Tulika and Wang, Shiyu and Liu, Zhiwei and Chen, Haolin and Hoang, Thai and others},
journal={arXiv preprint arXiv:2504.03601},
year={2025}
}
さらに、xLAMシリーズに関する他の素晴らしい関連研究もチェックし、引用を検討してください。
@article{zhang2025actionstudio,
title={ActionStudio: A Lightweight Framework for Data and Training of Action Models},
author={Zhang, Jianguo and Hoang, Thai and Zhu, Ming and Liu, Zuxin and Wang, Shiyu and Awalgaonkar, Tulika and Prabhakar, Akshara and Chen, Haolin and Yao, Weiran and Liu, Zhiwei and others},
journal={arXiv preprint arXiv:2503.22673},
year={2025}
}
@article{zhang2024xlam,
title={xLAM: A Family of Large Action Models to Empower AI Agent Systems},
author={Zhang, Jianguo and Lan, Tian and Zhu, Ming and Liu, Zuxin and Hoang, Thai and Kokane, Shirley and Yao, Weiran and Tan, Juntao and Prabhakar, Akshara and Chen, Haolin and others},
journal={arXiv preprint arXiv:2409.03215},
year={2024}
}
@article{liu2024apigen,
title={Apigen: Automated pipeline for generating verifiable and diverse function-calling datasets},
author={Liu, Zuxin and Hoang, Thai and Zhang, Jianguo and Zhu, Ming and Lan, Tian and Tan, Juntao and Yao, Weiran and Liu, Zhiwei and Feng, Yihao and RN, Rithesh and others},
journal={Advances in Neural Information Processing Systems},
volume={37},
pages={54463--54482},
year={2024}
}
@article{zhang2024agentohana,
title={AgentOhana: Design Unified Data and Training Pipeline for Effective Agent Learning},
author={Zhang, Jianguo and Lan, Tian and Murthy, Rithesh and Liu, Zhiwei and Yao, Weiran and Tan, Juntao and Hoang, Thai and Yang, Liangwei and Feng, Yihao and Liu, Zuxin and others},
journal={arXiv preprint arXiv:2402.15506},
year={2024}
}
📄 ライセンス
このプロジェクトは、CC BY-NC 4.0ライセンスの下でライセンスされています。



