🚀 Arch-Agent-3B GGUF模型
Arch-Agent-3B GGUF模型是专为高级函数调用和基于代理的应用程序设计的先进大语言模型,在复杂多步任务处理中表现卓越,能实现智能工具选择、自适应规划以及与外部API和服务的无缝集成。
🚀 快速开始
环境准备
本模型的代码已集成到Hugging Face的transformers
库中,建议安装最新版本:
pip install transformers>=4.51.0
模型调用示例
以下示例展示了如何使用本模型执行函数调用任务。请注意,本模型配合我们提供的提示格式使用效果最佳,这样可以提取类似于OpenAI函数调用的JSON输出。
import json
from typing import Any, Dict, List
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "katanemo/Arch-Agent-3B"
model = AutoModelForCausalLM.from_pretrained(
model_name, device_map="auto", torch_dtype="auto", trust_remote_code=True
)
tokenizer = AutoTokenizer.from_pretrained(model_name)
TASK_PROMPT = (
"You are a helpful assistant designed to assist with the user query by making one or more function calls if needed."
"\n\n# Tools\n\nYou may call one or more functions to assist with the user query.\n\n"
"You are provided with function signatures within <tools></tools> XML tags:\n<tools>\n{tool_text}"
"\n</tools>\n\nFor each function call, return a json object with function name and arguments within "
"""<tool_call></tool_call> XML tags:\n<tool_call>\n{{"name": <function-name>, """
""""arguments": <args-json-object>}}\n</tool_call>"""
)
tools = [
{
"type": "function",
"function": {
"name": "get_weather",
"description": "Get the current weather for a location",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "str",
"description": "The city and state, e.g. San Francisco, New York",
},
"unit": {
"type": "str",
"enum": ["celsius", "fahrenheit"],
"description": "The unit of temperature to return",
},
},
"required": ["location"],
},
},
}
]
def format_prompt(tools: List[Dict[str, Any]]):
tool_text = "\n".join(
[json.dumps(tool["function"], ensure_ascii=False) for tool in tools]
)
return TASK_PROMPT.format(tool_text=tool_text)
system_prompt = format_prompt(tools)
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": "What is the weather in Seattle?"},
]
model_inputs = tokenizer.apply_chat_template(
messages, add_generation_prompt=True, return_tensors="pt", return_dict=True
).to(model.device)
generated_ids = model.generate(**model_inputs, max_new_tokens=32768)
generated_ids = [
output_ids[len(input_ids) :]
for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]
response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]
print(response)
✨ 主要特性
- 多轮函数调用:在多轮对话中保持上下文连贯性,支持自然、持续的对话,并能嵌套或动态使用工具。
- 多步函数调用:规划并执行一系列函数调用以完成复杂任务,可根据中间结果动态调整,将目标分解为子任务。
- 智能代理能力:具备高级决策和工作流管理能力,可处理复杂的代理任务,实现工具的无缝协调和错误恢复。
📚 详细文档
模型生成细节
本模型使用 llama.cpp 在提交版本 73e53dc8
时生成。
量化超越IMatrix
我一直在尝试一种新的量化方法,该方法可以有选择地提高关键层的精度,超越默认IMatrix配置的限制。
在测试中,标准的IMatrix量化在低比特深度下表现不佳,尤其是对于混合专家(MoE)模型。为了解决这个问题,我使用 llama.cpp
中的 --tensor-type
选项手动将重要层的精度提高。你可以在以下链接查看实现细节:
👉 使用llama.cpp进行层精度提升
虽然这会增加模型文件的大小,但可以显著提高给定量化级别的精度。
性能基准
我们在 伯克利函数调用排行榜(BFCL) 上对Katanemo Arch-Agent系列进行了评估。我们与常用模型进行了比较,截至2025年6月14日的结果如下:
⚠️ 重要提示
在评估中,我们使用YaRN缩放来部署模型进行多轮评估,所有Arch-Agent模型的上下文长度均为64K。
选择合适的GGUF模型格式
点击此处获取选择合适GGUF模型格式的信息
🔧 技术细节
模型基础信息
属性 |
详情 |
模型类型 |
Arch-Agent-3B GGUF |
基础模型 |
Qwen/Qwen2.5-Coder-3B-Instruct |
语言 |
英语 |
任务类型 |
文本生成 |
库名称 |
transformers |
📄 许可证
Arch-Agent系列模型遵循 Katanemo许可证 进行分发。
💡 额外测试邀请
测试项目介绍
如果你觉得这些模型有用,欢迎帮助我测试我的 人工智能驱动的量子网络监控助手 ,进行 量子就绪安全检查:
👉 量子网络监控器
量子网络监控服务的完整开源代码可在我的GitHub仓库(名称中包含NetworkMonitor的仓库)中找到:量子网络监控器源代码。如果你想自己对模型进行量化,也可以找到我使用的代码 GGUFModelBuilder
测试方法
选择一种 AI助手类型:
TurboLLM
(GPT-4.1-mini)
HugLLM
(Huggingface开源模型)
TestLLM
(仅支持实验性CPU)
测试内容
我正在挑战 小型开源模型在AI网络监控中的极限,具体包括:
- 针对实时网络服务进行 函数调用
- 探索模型在仍能处理以下任务时可以达到的最小规模:
- 自动进行 Nmap安全扫描
- 量子就绪检查
- 网络监控任务
不同助手特点
🟡 TestLLM – 当前的实验模型(在Hugging Face Docker空间的2个CPU线程上运行llama.cpp):
- ✅ 零配置设置
- ⏳ 加载时间30秒(推理速度慢,但 无API成本)。由于成本较低,无令牌限制。
- 🔧 寻求帮助! 如果你对 边缘设备AI 感兴趣,让我们一起合作!
🟢 TurboLLM – 使用 gpt-4.1-mini :
- 性能出色,但不幸的是OpenAI按令牌收费。因此,令牌使用量有限。
- 创建自定义命令处理器,在量子网络监控代理上运行.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的推理费用,这些都是我自掏腰包承担的。模型创建和量子网络监控项目背后的所有代码都是 开源 的。如果你觉得这些内容有帮助,请随意使用。
如果你认可我的工作,请考虑 请我喝杯咖啡 ☕。你的支持将有助于支付服务成本,并让我为大家提高令牌限制。
我也欢迎工作机会或赞助。
感谢大家! 😊