模型简介
模型特点
模型能力
使用案例
🚀 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(或更高版本)
✨ 主要特性
- 多轮对话与函数调用:在多轮对话和函数调用任务中表现出色,能有效处理复杂交互。
- 高性能表现:在BFCL和τ-bench等基准测试中超越前沿模型,如GPT-4o和Claude 3.5。
- 兼容性强:完全兼容vLLM和基于Transformers的推理框架,方便集成和使用。
📦 安装指南
安装依赖库
使用前请确保安装了以下依赖库:
pip install transformers==4.46.1 torch==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
💻 使用示例
基础用法
使用Huggingface聊天模板与模型进行交互,示例代码如下:
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))
高级用法(使用vLLM进行推理)
启动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
使用OpenAI API进行测试
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%)的性能。
Pass^k曲线衡量给定任务的所有5次独立试验成功的概率,对τ-retail(左)和τ-airline(右)领域的所有任务取平均值。值越高表示模型的一致性越好。
伦理考量
本版本仅用于支持学术论文的研究目的。我们的模型、数据集和代码并非专门为所有下游用途设计或评估。强烈建议用户在部署此模型之前评估并解决与准确性、安全性和公平性相关的潜在问题。鼓励用户考虑AI的常见局限性,遵守适用法律,并在选择用例时采用最佳实践,特别是在高风险场景中,错误或滥用可能会对人们的生活、权利或安全产生重大影响。有关用例的进一步指导,请参考我们的AUP和AI AUP。
模型许可证
对于所有与Llama相关的模型,请同时遵循相应的Llama许可证和条款。Meta Llama 3根据Meta Llama 3社区许可证授权,版权所有 © Meta Platforms, Inc. 保留所有权利。
🔧 技术细节
模型生成详情
本模型使用llama.cpp在提交版本238005c2
时生成。
超越IMatrix的量化
尝试了一种新的量化方法,该方法有选择地提高关键层的精度,超越了默认IMatrix配置提供的精度。在测试中,标准IMatrix量化在较低比特深度下表现不佳,特别是对于专家混合(MoE)模型。为了解决这个问题,使用llama.cpp
中的--tensor-type
选项手动将重要层的精度提高。具体实现可参考:使用llama.cpp进行层提升。虽然这会增加模型文件大小,但显著提高了给定量化级别的精度。
📄 许可证
本模型采用CC BY-NC 4.0许可证。
额外信息
选择合适的GGUF模型格式
测试AI-Powered Quantum Network Monitor Assistant
如果您认为这些模型有用,请帮助测试AI-Powered Quantum Network Monitor Assistant,进行量子就绪安全检查: 量子网络监控器
量子网络监控服务的完整开源代码可在此处找到。如果您想自己进行模型量化,也可以找到相应的代码GGUFModelBuilder。
测试方法
选择一种AI助手类型:
TurboLLM
(GPT-4.1-mini)HugLLM
(Hugginface开源模型)TestLLM
(仅支持CPU的实验性模型)
测试内容
测试小型开源模型在AI网络监控方面的极限,具体包括:
- 针对实时网络服务进行函数调用
- 模型在处理以下任务时的最小规模:
- 自动Nmap安全扫描
- 量子就绪检查
- 网络监控任务
不同助手的特点
- TestLLM:当前的实验性模型(在Huggingface Docker空间的2个CPU线程上运行llama.cpp)
- 零配置设置
- 加载时间30秒(推理速度慢,但无API成本),由于成本低,无令牌限制
- 寻求帮助!如果您对边缘设备AI感兴趣,欢迎合作!
- TurboLLM:使用gpt-4.1-mini
- 性能出色,但OpenAI按令牌收费,因此令牌使用受限
- 创建自定义cmd处理器,在量子网络监控代理上运行.net代码
- 实时网络诊断和监控
- 安全审计
- 渗透测试(Nmap/Metasploit)
- HugLLM:最新的开源模型
- 在Hugging Face推理API上运行,使用Novita托管的最新模型表现出色
测试命令示例
"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)"
注意,您需要安装量子网络监控代理才能运行.net代码。这是一个非常灵活和强大的功能,请谨慎使用!
支持作者
作者自掏腰包资助创建这些模型文件的服务器、运行量子网络监控服务以及支付Novita和OpenAI的推理费用。模型创建和量子网络监控项目背后的所有代码都是开源的。如果您认可作者的工作,请考虑请作者喝咖啡 ☕。您的支持将有助于支付服务成本,并提高令牌限制。作者也欢迎工作机会或赞助。
感谢您的支持!😊



