用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/arm2arm/AstroAgentAssistant --skill agentbench-ollama-benchmarking命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
| name | agentbench-ollama-benchmarking |
| description | Benchmark LLMs using AgentBench suite with local Ollama models |
| version | 1.1 |
| created | 2026-07-15 |
| tags | ["benchmarking","ollama","agentbench","llm-evaluation"] |
Benchmark LLMs using AgentBench suite (DBBench, Knowledge Graph, OS Interaction, Lateral Thinking) with local Ollama models.
curl -s http://localhost:11434/api/tags | python3 -m json.tool
ollama ps
cd /tmp && ~/.hermes/hermes-agent/venv/bin/python agentbench_ollama_llama32.py
Results saved to: /tmp/agentbench_ollama_llama32/
/tmp/dbbench_qwen36.py (single-threaded, 300 samples)| Model | Size | DBBench | Overall | Speed | Recommendation |
|---|---|---|---|---|---|
llama3.2:3b | 1.9GB | 99.5% | 99.5% | 2.98s | ✅ OPTIMAL |
teuken-7b (GGUF) | 14GB | 99.0% | 87.4% | 4.81s | ⚠️ Good SQL, weak reasoning |
qwen3.5:122b-a10b | 81GB | 100.0% | TBD | 22.70s | ⚠️ Perfect but 7.6x slower |
qwen3.6:latest | 34GB | ~50% (timeouts) | ~50% | ~23s/sample | ❌ Impractical |
aip-best (LiteLLM) | 35B | 86.0% | 75.2% | 1.36s | ⚠️ Broken API format |
Key Finding: llama3.2:3b achieves near-perfect accuracy with 7-8x speedup vs larger models, making it the production choice despite qwen3.5:122b achieving 100% on DBBench.
Why 3B beats 122B for SQL/code tasks:
qwen3.5:122b-a10b Performance (Session 2026-07-16):
Teuken-7B Performance Breakdown (Session 2026-07-16):
aip-best API Issue (Session 2026-07-16):
http://141.33.165.84:8000/v1): 14% success (broken)http://141.33.165.84:4000/v1): 75.2% success (custom parser needed)reasoning_content but content: nullreasoning_content field instead of contentWhy 3B beats 35B (Session 2026-07-15):
Teuken-7B Performance Breakdown (Session 2026-07-16):
aip-best API Issue (Session 2026-07-16):
http://141.33.165.84:8000/v1): 14% success (broken)http://141.33.165.84:4000/v1): 75.2% success (custom parser needed)reasoning_content but content: nullreasoning_content field instead of content| Task | Location | Format | Samples |
|---|---|---|---|
| DBBench | /tmp/AgentBench/data/dbbench/standard.jsonl | JSONL | 300 |
| Knowledge Graph | /tmp/AgentBench/data/knowledgegraph/std.json | JSON | 50 |
| OS Interaction | /tmp/AgentBench/data/os_interaction/data/dev.json | JSON | 26 |
| Lateral Thinking | /tmp/AgentBench/data/lateralthinkingpuzzle/standard.xlsx | Excel | 30 |
DO NOT use question/clue columns. The Excel file has:
story (not question)answer (not clue)Wrong:
prompt = f"Question: {s['question']}\nClue: {s['clue']}"
Correct:
prompt = f"Story: {s['story']}\nAnswer: {s['answer']}"
Models may output SQL/bash in various formats. Extract robustly:
def extract_sql(content):
if not content: return None
if "```sql" in content:
return content.split("```sql")[1].split("```")[0].strip()
elif "```" in content:
return content.split("```")[1].split("```")[0].strip()
return None
llama3.2:3b: 5 workers OK (1-2s/sample)qwen3.6:latest: 1 worker only (34GB GPU saturation, ~23s/sample)Problem: textworld package fails to build on Python 3.9 due to C extension/build system incompatibility. Multiple attempts (different versions, --no-deps, --no-build-isolation) all fail.
Workaround: Skip ALFWorld service in Docker stack. The Direct API method works perfectly for all other tasks.
If ALFWorld is required:
textworld build system (significant effort)Docker Compose command (skip ALFWorld):
docker compose -f extra/docker-compose.yml up -d controller redis dbbench-std os_interaction-std knowledgegraph-std freebase
For consistent SQL code blocks:
{"role": "system", "content": "Output ONLY SQL in ```sql code block."}
llama3.2:3b): 120s timeoutqwen3.6:latest): 300s+ timeout (but still impractical for batch)#!/usr/bin/env python3
import json, time, requests, os
from concurrent.futures import ThreadPoolExecutor, as_completed
MODEL = "llama3.2:3b"
OLLAMA_URL = "http://localhost:11434/api/chat"
RESULTS_DIR = "/tmp/agentbench_results"
os.makedirs(RESULTS_DIR, exist_ok=True)
def call_llm(messages, max_tokens=512, timeout=120):
payload = {
"model": MODEL,
"messages": messages,
"stream": False,
"max_tokens": max_tokens
}
resp = requests.post(OLLAMA_URL, json=payload, timeout=timeout)
return resp.json()
# Load samples and run benchmark...
For containerized environments:
cd /tmp/AgentBench
docker compose -f extra/docker-compose.yml up -d controller redis dbbench-std os_interaction-std knowledgegraph-std freebase
Note: ALFWorld and WebShop services may fail to build due to dependency issues (visdom package, textworld build failure on Python 3.9). Skip them if not needed.
Controller API: Runs on port 5020 (not 5000). Endpoints: /api/list_workers, /api/get_indices, /api/start_sample, /api/interact.
Direct API method (recommended for LLM benchmarking): Bypass Docker stack entirely and call Ollama directly. See "Quick Start" above.
Requires:
http://localhost:11434/api/chatreferences/alfworld-docker-build-failure.md — Detailed troubleshooting guide for ALFWorld Docker build issues on Python 3.9 (textworld package, Inform7 download failures)references/vllm-gated-models.md — Guide for serving gated HuggingFace models with vLLMreferences/aip-best-api-issues.md — Root cause analysis of aip-best API broken response format (content: null, reasoning_content only)references/teuken-7b-benchmark-results.md — Full Teuken-7B benchmark results (87.4% overall, weak on reasoning/OS tasks)references/qwen3.5-122b-benchmark-results.md — qwen3.5:122b-a10b DBBench results (100% success, 22.7s/sample, 81GB model) - perfect accuracy but 7.6x slower than Llama-3.2-3Bscripts/agentbench_ollama_llama32.py — Unified benchmark script for all AgentBench tasks (DBBench, KG, OS, LTP)scripts/teuken_agentbench_full.py — Full benchmark script for Teuken-7B (all 4 tasks, 206 samples)scripts/qwen122_dbbench.py — DBBench script for qwen3.5:122b-a10b (50 samples, 100% success)Model Comparison: llama3.2:3b vs qwen3.6:latest vs aip-best API
Why 3B beats 35B for SQL/code tasks:
Session Notes (2026-07-16) - Full Benchmark Suite Teuken-7B (GGUF) Full Suite Results:
aip-best (LiteLLM) Full Suite Results:
aip-best API Root Cause Analysis:
reasoning_content but leaves content: nullreasoning_content field (75.2% success)Final Recommendation: Llama-3.2-3B is optimal (99.5% accuracy, 2.98s/sample, 1.9GB). Teuken-7B offers no advantage (slower, heavier, less accurate). aip-best API is unreliable (broken response format).
Docker Stack: Successfully built dbbench, os_interaction, knowledgegraph services. ALFWorld failed due to textworld build incompatibility on Python 3.9. Direct API method recommended.
ALFWorld Fix Attempts (All Failed):
libffi-dev, libc6-dev)textworld==1.4.0 with --no-depssitecustomize.py stub (needs too many submodules)tar: Child returned status 2 during Inform7 download/extractvLLM Test (2026-07-15): Attempted to serve Soofi-Project/Soofi-S-Base but model is gated on Hugging Face. Requires huggingface-cli login before serving. Use public models (e.g., meta-llama/Llama-3.2-3B-Instruct) for testing.
llama.cpp Setup (2026-07-15):
cd /tmp/llama.cpp && mkdir build && cd build && cmake .. -DGGML_CUDA=ON && make -j$(nproc) llama-server llama-cli/tmp/llama.cpp/build/bin/llama-server -m ~/models/<model>.gguf -c 2048 --port 8080 --host 0.0.0.0 -ngl 99curl -L -o model.gguf "https://huggingface.co/<user>/<model>/resolve/main/model-Q4_K_M.gguf"hf auth login and accepting license on Hugging Face before downloadhttp://localhost:8080/v1/chat/completionscurl http://localhost:8080/health → {"status":"ok"}