🚀 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的推理費用,這些都是我自掏腰包承擔的。模型創建和量子網絡監控項目背後的所有代碼都是 開源 的。如果你覺得這些內容有幫助,請隨意使用。
如果你認可我的工作,請考慮 請我喝杯咖啡 ☕。你的支持將有助於支付服務成本,並讓我為大家提高令牌限制。
我也歡迎工作機會或贊助。
感謝大家! 😊