Instructions to use agentic-ptb/grok-record with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Grok
How to use agentic-ptb/grok-record with Grok:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
| #!/usr/bin/env python3 | |
| """Compact one-turn pi traces for LoRA on top of sft-v3. Generic skills, not eval items.""" | |
| from __future__ import annotations | |
| import json | |
| import random | |
| from pathlib import Path | |
| from datasets import Dataset, load_dataset | |
| SYS = ( | |
| "You are a coding agent. Prefer tools over talk. " | |
| "Chain work in one bash call. Never loop ls/cd/pwd. " | |
| "After the required output exists, one short sentence and STOP." | |
| ) | |
| TOOLS = json.dumps( | |
| [ | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "bash", | |
| "description": "Execute a bash command", | |
| "parameters": { | |
| "type": "object", | |
| "properties": {"command": {"type": "string"}}, | |
| "required": ["command"], | |
| }, | |
| }, | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "write", | |
| "description": "Write a file", | |
| "parameters": { | |
| "type": "object", | |
| "properties": {"path": {"type": "string"}, "content": {"type": "string"}}, | |
| "required": ["path", "content"], | |
| }, | |
| }, | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "edit", | |
| "description": "Edit a file", | |
| "parameters": { | |
| "type": "object", | |
| "properties": {"path": {"type": "string"}, "edits": {"type": "array"}}, | |
| "required": ["path", "edits"], | |
| }, | |
| }, | |
| }, | |
| { | |
| "type": "function", | |
| "function": { | |
| "name": "read", | |
| "description": "Read a file", | |
| "parameters": { | |
| "type": "object", | |
| "properties": {"path": {"type": "string"}}, | |
| "required": ["path"], | |
| }, | |
| }, | |
| }, | |
| ] | |
| ) | |
| def tc(i, name, args): | |
| return {"id": f"c{i}", "type": "function", "function": {"name": name, "arguments": json.dumps(args)}} | |
| def pack(msgs, src): | |
| return {"messages": [{"role": "system", "content": SYS}] + msgs, "tools": TOOLS, "source": src} | |
| def main(): | |
| rng = random.Random(8) | |
| rows = [] | |
| # extract archive to the destination named in the prompt (not a nested vendor dir) | |
| for i in range(200): | |
| rows.append( | |
| pack( | |
| [ | |
| { | |
| "role": "user", | |
| "content": ( | |
| f"A tarball is at /data/pkg{i}.tar.gz. Extract it to /workspace/pkg, " | |
| "run `make -C /workspace/pkg && make -C /workspace/pkg install PREFIX=/output`, then stop." | |
| ), | |
| }, | |
| { | |
| "role": "assistant", | |
| "content": "Extracting to /workspace/pkg and building.", | |
| "tool_calls": [ | |
| tc( | |
| 0, | |
| "bash", | |
| { | |
| "command": ( | |
| f"mkdir -p /workspace/pkg /output && " | |
| f"tar -xzf /data/pkg{i}.tar.gz -C /workspace/pkg --strip-components=1 && " | |
| "make -C /workspace/pkg && make -C /workspace/pkg install PREFIX=/output" | |
| ) | |
| }, | |
| ) | |
| ], | |
| }, | |
| {"role": "tool", "tool_call_id": "c0", "content": "install done\n"}, | |
| {"role": "assistant", "content": "Built and installed to /output."}, | |
| ], | |
| "lora:extract", | |
| ) | |
| ) | |
| # compact write via bash heredoc (fits in ~120 tokens) | |
| for i in range(200): | |
| rows.append( | |
| pack( | |
| [ | |
| { | |
| "role": "user", | |
| "content": ( | |
| "Write /output/strip.py that reads stdin and prints lines that do not contain " | |
| "the substring TODO. Then stop." | |
| ), | |
| }, | |
| { | |
| "role": "assistant", | |
| "content": "Writing the filter script.", | |
| "tool_calls": [ | |
| tc( | |
| 0, | |
| "bash", | |
| { | |
| "command": ( | |
| "cat > /output/strip.py << 'PY'\n" | |
| "import sys\n" | |
| "for line in sys.stdin:\n" | |
| " if 'TODO' not in line:\n" | |
| " sys.stdout.write(line)\n" | |
| "PY\nchmod +x /output/strip.py" | |
| ) | |
| }, | |
| ) | |
| ], | |
| }, | |
| {"role": "tool", "tool_call_id": "c0", "content": ""}, | |
| {"role": "assistant", "content": "Wrote /output/strip.py."}, | |
| ], | |
| "lora:heredoc", | |
| ) | |
| ) | |
| # read then edit immediately (no second ls) | |
| for i in range(180): | |
| rows.append( | |
| pack( | |
| [ | |
| {"role": "user", "content": "off_by_one in /workspace/add.py: add(2,2) must be 4. Fix it and stop."}, | |
| { | |
| "role": "assistant", | |
| "content": "Reading then patching.", | |
| "tool_calls": [tc(0, "bash", {"command": "cat /workspace/add.py"})], | |
| }, | |
| {"role": "tool", "tool_call_id": "c0", "content": "def add(a, b):\n return a + b + 1\n"}, | |
| { | |
| "role": "assistant", | |
| "content": "Patching the return.", | |
| "tool_calls": [ | |
| tc( | |
| 1, | |
| "edit", | |
| { | |
| "path": "/workspace/add.py", | |
| "edits": [{"oldText": " return a + b + 1\n", "newText": " return a + b\n"}], | |
| }, | |
| ) | |
| ], | |
| }, | |
| {"role": "tool", "tool_call_id": "c1", "content": "Edited add.py"}, | |
| {"role": "assistant", "content": "add(2,2) is 4."}, | |
| ], | |
| "lora:edit", | |
| ) | |
| ) | |
| # git restore previous commit (generic) | |
| for i in range(120): | |
| rows.append( | |
| pack( | |
| [ | |
| { | |
| "role": "user", | |
| "content": "The latest commit broke page.html. Restore that file from HEAD~1 and stop.", | |
| }, | |
| { | |
| "role": "assistant", | |
| "content": "Restoring page.html from the previous commit.", | |
| "tool_calls": [tc(0, "bash", {"command": "git checkout HEAD~1 -- page.html && git status --short"})], | |
| }, | |
| {"role": "tool", "tool_call_id": "c0", "content": "M page.html\n"}, | |
| {"role": "assistant", "content": "Restored page.html from HEAD~1."}, | |
| ], | |
| "lora:git", | |
| ) | |
| ) | |
| # mix original finish set so we keep stop-after-verify | |
| prev = Path("/var/lib/agentptb-cache/tb1/tmp/sft-data/pi-sft-finish/train.parquet") | |
| if prev.exists(): | |
| ds = load_dataset("parquet", data_files=str(prev), split="train") | |
| idx = list(range(len(ds))) | |
| rng.shuffle(idx) | |
| for j in idx[:3500]: | |
| rec = ds[int(j)] | |
| rows.append({"messages": rec["messages"], "tools": rec["tools"], "source": rec["source"]}) | |
| rng.shuffle(rows) | |
| out = Path("/var/lib/agentptb-cache/tb1/tmp/sft-data/pi-sft-lora") | |
| out.mkdir(parents=True, exist_ok=True) | |
| Dataset.from_dict( | |
| { | |
| "messages": [r["messages"] for r in rows], | |
| "tools": [r["tools"] if isinstance(r["tools"], str) else json.dumps(r["tools"]) for r in rows], | |
| "source": [r["source"] for r in rows], | |
| } | |
| ).to_parquet(str(out / "train.parquet")) | |
| print("wrote", len(rows), out) | |
| if __name__ == "__main__": | |
| main() | |