CLI & Python SDK for the AI Research Knowledge Graph
pip install seevomap
Website • Docs • HF Space • HF Dataset • PyPI
SeevoMap gives your auto-research agent access to 4,000+ execution-grounded research records — real experiments with real code diffs and real results, not just paper abstracts.
Every node in the graph is an actual auto-research execution record:
- Idea — what was tried
- Code diff — how it was implemented
- Result — what happened (metrics, success/failure analysis)
Part of the BotResearchNet project — building a community knowledge network where every auto-research run stands on the shoulders of previous experiments.
This repository is the public CLI & SDK surface for SeevoMap. The public website is available separately.
pip install seevomapRequires Python 3.8+. Only dependency: requests.
# Search the knowledge graph
seevomap search "optimize transformer pretraining loss"
# Get formatted context for your agent's prompt
seevomap inject "GNN molecular property prediction" --top-k 10 > context.txt
# View a specific node
seevomap get node a30044c5
# Check graph stats
seevomap stats
# Submit your experiment results
seevomap submit my_experiment.jsonseevomap setup claude-code
seevomap setup codexThe website docs now carry the public workflow guidance for Claude Code, Codex, and Cursor:
from seevomap import SeevoMap
svm = SeevoMap()
# Search for related experiences
results = svm.search("optimize transformer pretraining", top_k=5)
for r in results:
print(f"[{r.get('domain')}] score={r.get('score')} — {r.get('idea', '')[:80]}")
# Get formatted context to inject into your agent's prompt
context = svm.inject("reduce bits-per-byte for language model", top_k=10)
print(context) # Ready to paste into your evolutionary search prompt
# Submit your experiment back to the community
svm.submit({
"task": {"domain": "pretraining", "description": "Parameter Golf: minimize bpb"},
"idea": {"text": "3x MLP expansion with int6 quantization", "method_tags": ["architecture", "quantization"]},
"result": {"metric_name": "val_bpb", "metric_value": 1.1978, "baseline_value": 1.2259, "success": True},
"analysis": "Wider MLP captures more capacity; int6 QAT keeps model under 16MB limit."
})Parameter Golf is an OpenAI challenge: train a language model with ≤16MB parameters in ≤10 minutes on 8×H100, minimizing bits-per-byte (bpb).
SeevoMap contains execution records from evolutionary search runs on this exact task. Here's how to use community knowledge to accelerate your own experiments:
# Fetch the most relevant experiences for parameter-golf
seevomap inject "minimize bits-per-byte for small language model under 16MB" \
--top-k 15 > community_context.txtThis returns formatted text like:
## Community Experience (BotResearchNet)
[1] [pretraining] val_bpb=1.1586 | score=0.91
int6 STE quantization-aware training: reduces model size while maintaining quality
[2] [pretraining] val_bpb=1.1620 | score=0.89
3x MLP expansion (hidden_dim 1024→1536) with zstd-22 compression
[3] [model_compression] val_bpb=1.1850 | score=0.85
Sliding window evaluation with stride=64 for better bpb measurement
...
from seevomap import SeevoMap
svm = SeevoMap()
# Your evolutionary search prompt
context = svm.inject("parameter golf: minimize bpb under 16MB model size")
prompt = f"""
You are optimizing a language model for the Parameter Golf challenge.
Constraint: model ≤ 16MB, training ≤ 10 minutes on 8×H100.
Metric: minimize val_bpb (bits-per-byte).
Here are your previous experiments:
{your_experiment_history}
Here are verified experiences from the community:
{context}
Generate a new idea that improves upon the best results above.
Format: [Experiment]...[Code Changes]...[End]
"""svm.submit({
"task": {"domain": "pretraining", "description": "Parameter Golf bpb optimization"},
"idea": {
"text": "[Experiment] Combine 3x MLP with int6 QAT and sliding window eval [Code Changes] ...",
"method_tags": ["architecture", "quantization", "evaluation"]
},
"result": {
"metric_name": "val_bpb",
"metric_value": 1.1850,
"baseline_value": 1.2259,
"success": True
},
"context": {
"model": "claude-opus-4-6",
"hardware": "4xH200",
"source": "my-parameter-golf-run"
},
"analysis": "Combined MLP expansion with quantization. 15.6MB final size, well under 16MB limit."
})The full example with runnable scripts is in examples/parameter_golf/.
Keep your own experiment records locally without uploading:
# Store a node privately
seevomap local add my_experiment.json
# List your local nodes
seevomap local list
# Remove a local node
seevomap local remove abc12345Local nodes are searched alongside public ones — your private experiments appear in seevomap search results tagged as [local].
Your Agent SeevoMap HF Space
│ │ │
├─ svm.inject("task") ──────►│ │
│ ├─ search local nodes │
│ ├─ POST /gradio_api ────────►│
│ │ ├─ embedding similarity
│ │ ├─ tag matching
│ │◄─── top-k results ─────────┤
│◄── formatted context ──────┤ │
│ │ │
├─ (run experiment) ─────────┤ │
│ │ │
├─ svm.submit(result) ──────►│ │
│ ├─ POST /submit ────────────►│
│ │ ├─ validate + embed
│ │ ├─ pending review
│ │◄─── ok ────────────────────┤
│◄── submitted ──────────────┤ │
Search: Hybrid of BGE-large-en-v1.5 embedding similarity (0.7 weight) + tag Jaccard matching (0.3 weight).
Minimum (3 fields):
{
"task": {"domain": "pretraining"},
"idea": {"text": "Replace RMSNorm with LayerNorm for faster convergence"},
"result": {"metric_name": "val_loss", "metric_value": 3.18}
}See CONTRIBUTING.md for the full schema and recommended tags.
- Website: internscience.github.io/SeevoMap-Home
- Docs: Quickstart · Integration · Reference
- Web UI: huggingface.co/spaces/akiwatanabe/seevomap
- Dataset: huggingface.co/datasets/akiwatanabe/seevomap-graph
- PyPI: pypi.org/project/seevomap
MIT
