モデル紹介
コンテンツ詳細
代替品
モデル概要
モデル特徴
モデル能力
使用事例
🚀 xLAM-2-32b-fc-r GGUFモデル
xLAM-2-32b-fc-r GGUFモデルは、高度な自然言語処理タスクを実行するための強力なモデルです。このモデルは、多ターン会話やツール使用などのタスクで優れた性能を発揮し、研究目的に最適です。
🚀 クイックスタート
このモデルを使用するには、まず必要なライブラリをインストールし、モデルをダウンロードする必要があります。以下のセクションで詳細な手順を説明します。
✨ 主な機能
- 多ターン会話:複数のメッセージを交換する会話シナリオでも適切に応答できます。
- ツール使用:関数呼び出しを用いて外部ツールを活用し、より複雑なタスクを実行できます。
- 高い精度:ベンチマークテストで、他のモデルに比べて優れた性能を示しています。
📦 インストール
フレームワークのバージョン
- Transformers 4.46.1 (またはそれ以降)
- PyTorch 2.5.1+cu124 (またはそれ以降)
- Datasets 3.1.0 (またはそれ以降)
- Tokenizers 0.20.3 (またはそれ以降)
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
💻 使用例
基本的な使用法
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")
# ツール呼び出しを含む会話の例
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] # 入力トークンの長さを取得
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:] # 出力をスライスして新しく生成されたトークンのみを取得
print(tokenizer.decode(generated_tokens[0], skip_special_tokens=True))
高度な使用法
import openai
import json
# クライアントをローカルのvLLMエンドポイントを使用するように設定
client = openai.OpenAI(
base_url="http://localhost:8000/v1", # デフォルトのvLLMサーバーURL
api_key="empty" # 任意の文字列で構いません
)
# ツール/関数を定義
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"]
}
}
}
]
# チャットの完了を作成
response = client.chat.completions.create(
model="Salesforce/xLAM-2-1b-fc-r", # モデル名は関係なく、vLLMは提供されたモデルを使用します
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("Assistant's response:")
print(json.dumps(response.model_dump(), indent=2))
📚 ドキュメント
モデルシリーズ
モデル | 総パラメータ数 | コンテキスト長 | カテゴリ | モデルのダウンロード | 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のコンテキスト長を実現できます。詳細はこちらを参照してください。
ベンチマーク結果
Berkeley Function-Calling Leaderboard (BFCL v3)
BFCLリーダーボードでの異なるモデルの性能比較。ランクは全体的な精度に基づいており、これはさまざまな評価カテゴリの加重平均です。「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%) の性能に近づいています。
与えられたタスクに対して5回の独立した試行がすべて成功する確率を測定するPass^k曲線。これは、τ-retail (左) およびτ-airline (右) ドメインのすべてのタスクで平均化されています。値が高いほど、モデルの一貫性が高いことを示します。
🔧 技術詳細
モデル生成の詳細
このモデルは、llama.cpp を使用して、コミット 238005c2
で生成されました。
量子化の詳細
標準のIMatrix量子化は、低いビット深度では、特にMixture of Experts (MoE) モデルで性能が低下することがあります。この問題を解決するために、llama.cpp
の --tensor-type
オプションを使用して、重要なレイヤーを手動でより高い精度に「アップグレード」しています。実装はこちらを参照してください:
👉 Layer bumping with llama.cpp
これによりモデルファイルのサイズは増加しますが、特定の量子化レベルでの精度が大幅に向上します。
📄 ライセンス
このモデルは、CC BY-NC 4.0ライセンスの下で提供されています。すべての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}
}
@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}
}
エチカルな考慮事項
このリリースは、学術論文のサポートのための研究目的のみです。私たちのモデル、データセット、およびコードは、すべての下流の目的に特に設計または評価されていません。このモデルをデプロイする前に、ユーザーは精度、安全性、および公正性に関連する潜在的な懸念事項を評価し、対処することを強くお勧めします。ユーザーは、AIの一般的な制限を考慮し、適用可能な法律を遵守し、特にエラーや誤用が人々の生活、権利、または安全に重大な影響を与える可能性のある高リスクシナリオのユースケースを選択する際には、ベストプラクティスを活用することが推奨されます。ユースケースに関するさらなるガイダンスについては、私たちのAUPおよびAI AUPを参照してください。
テストに関する情報
テストの目的
私は、AIネットワーク監視のための小さなオープンソースモデルの限界を検証しています。具体的には以下の点をテストしています。
- ライブネットワークサービスに対する関数呼び出し
- 自動化されたNmapセキュリティスキャン、量子準備チェック、ネットワーク監視タスクを処理しながら、モデルをどれだけ小さくできるか
テスト方法
- AIアシスタントのタイプを選択:
TurboLLM
(GPT-4.1-mini)HugLLM
(Hugginfaceのオープンソースモデル)TestLLM
(実験的なCPU専用モデル)
- 以下のようなコマンドをテストします。
"Give me info on my websites SSL certificate"
"Check if my server is using quantum safe encyption for communication"
"Run a comprehensive security audit on my server"
"Create a cmd processor to .. (what ever you want)"
ただし、Quantum Network Monitor Agent をインストールする必要があります。
各アシスタントの特徴
- TestLLM:
- ゼロコンフィギュレーションでセットアップ可能
- ロード時間は30秒 (推論は遅いがAPIコストがかからない)。コストが低いためトークン制限がありません。
- エッジデバイスAIに興味がある方の協力を求めています。
- TurboLLM:
- gpt-4.1-miniを使用しています。
- 非常に良好な性能を発揮しますが、OpenAIがトークンごとに料金を請求するため、トークンの使用量に制限があります。
- Quantum Network Monitor Agents上で.netコードを実行するカスタムコマンドプロセッサを作成できます。
- リアルタイムのネットワーク診断と監視、セキュリティ監査、ペネトレーションテスト (Nmap/Metasploit) が可能です。
- HugLLM:
- Hugging Face Inference API上で実行されます。Novitaにホストされている最新のモデルを使用しており、かなり良好な性能を発揮します。
サポートへの要請
私は、これらのモデルファイルを作成するためのサーバー、Quantum Network Monitorサービスを実行するためのサーバー、およびNovitaやOpenAIからの推論の費用をすべて自前で負担しています。モデル作成とQuantum Network Monitorプロジェクトの背後にあるすべてのコードはオープンソースです。役立つものがあれば自由に使用してください。
もしあなたがこの仕事を評価してくれるなら、コーヒーを買ってくれることをご検討ください☕。あなたの支援により、サービスのコストを賄い、すべてのユーザーのトークン制限を引き上げることができます。
また、私は仕事の機会やスポンサーシップも歓迎しています。
ありがとうございます😊






おすすめAIモデル



