Skip to main content

scillm

LLM completions and Lean4 theorem proving via scillm. Use when user needs "batch LLM calls", "parallel completions", "prove this mathematically", "formal verification", "Lean4 proof", or "JSON extraction from text".

الانتقال إلى التثبيت

معلومات المصدر

المستودع
grahama1970/fetcher
آخر نشاط في المصدر
٢٠ يناير ٢٠٢٦ في ١٢:٥٣
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٢
التفرعات
٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

مستكشف الملفات
6 ملفات

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
scillm
description
LLM completions and Lean4 theorem proving via scillm. Use when user needs "batch LLM calls", "parallel completions", "prove this mathematically", "formal verification", "Lean4 proof", or "JSON extraction from text".
allowed-tools
Bash, Read
triggers
["batch LLM calls","parallel completions","prove mathematically","formal verification","Lean4 proof","extract JSON from","verify this claim"]
metadata
{"short-description":"scillm tools (batch LLM, Lean4 proofs)"}
# scillm Tools LLM completions and formal proofs via scillm (per SCILLM_PAVED_PATH_CONTRACT.md). ## Tools | Tool | Purpose | |------|---------| | `batch.py` | Batch LLM completions via parallel_acompletions | | `prove.py` | Lean4 theorem proving via certainly | --- ## batch.py - LLM Completions ### Quick Start ```bash # Single completion python .agents/skills/scillm/batch.py single "What is 2+2?" # Single with JSON response python .agents/skills/scillm/batch.py single "Return {answer: number}" --json # Batch from file python .agents/skills/scillm/batch.py batch --input prompts.jsonl --json ``` ### Commands **Single completion:** ```bash python .agents/skills/scillm/batch.py single "Your prompt" [--json] [--model MODEL] ``` **Batch completions:** ```bash python .agents/skills/scillm/batch.py batch \ --input prompts.jsonl \ --output results.jsonl \ --json \ --concurrency 6 ``` ### Input/Output Format Input JSONL (one per line): ```json {"prompt": "Summarize..."} {"prompt": "Translate..."} ``` Output JSONL: ```json {"index": 0, "content": "...", "ok": true} {"index": 1, "error": "timeout", "status": 408} ``` ### Environment Variables | Variable | Required | |----------|----------| | `CHUTES_API_BASE` | Yes | | `CHUTES_API_KEY` | Yes | | `CHUTES_MODEL_ID` | Yes | --- ## prove.py - Lean4 Theorem Proving ### Quick Start ```bash # Prove a claim python .agents/skills/scillm/prove.py "Prove that n + 0 = n" # With tactic hints python .agents/skills/scillm/prove.py "Prove n < n + 1" --tactics omega # Check availability python .agents/skills/scillm/prove.py --check ``` ### Commands **Prove a claim:** ```bash python .agents/skills/scillm/prove.py "Your claim" [--tactics simp,omega] [--timeout 120] ``` **Check if ready:** ```bash python .agents/skills/scillm/prove.py --check ``` ### Output Format **Success:** ```json { "ok": true, "lean4_code": "theorem add_zero (n : ℕ) : n + 0 = n := by simp", "compile_ms": 7406 } ``` **Failure:** ```json { "ok": false, "diagnosis": "mathematically false", "suggestion": "Change to 'Prove that 2 + 2 = 4'" } ``` ### Tactic Hints | Tactic | Use for | |--------|---------| | `simp` | Identities, simplification | | `omega` | Integer arithmetic | | `ring` | Polynomial algebra | | `linarith` | Linear inequalities | ### Prerequisites 1. **lean_runner container** running 2. **OPENROUTER_API_KEY** set 3. **scillm[certainly]** installed --- ## Importable API (For Other Skills) The `quick_completion` function can be imported by sibling skills: ```python # Add scillm to path (for sibling skills) import sys from pathlib import Path sys.path.insert(0, str(Path(__file__).parent.parent / "scillm")) from batch import quick_completion # Simple completion result = quick_completion("What is 2+2?") # With JSON mode result = quick_completion("Extract {name, age}", json_mode=True) # With system prompt result = quick_completion( prompt="Translate to French: Hello", system="You are a translator", temperature=0.3, ) ``` **Parameters:** | Param | Type | Default | Description | |-------|------|---------|-------------| | `prompt` | str | required | User prompt | | `model` | str | env var | Model ID | | `json_mode` | bool | False | Request JSON response | | `max_tokens` | int | 1024 | Max tokens | | `temperature` | float | 0.2 | Sampling temperature | | `timeout` | int | 30 | Request timeout (s) | | `system` | str | None | System prompt | --- ## Python API (Direct scillm) For more control, use scillm directly: ```python # Single completion (for one-off calls) from scillm import acompletion resp = await acompletion(model=..., messages=[...], api_base=..., api_key=...) # Batch completions (for parallel processing) from scillm import parallel_acompletions reqs = [{"model": MODEL, "messages": [...]}] results = await parallel_acompletions(reqs, api_base=..., api_key=...) # Lean4 proofs from scillm.integrations.certainly import prove_requirement result = await prove_requirement("Prove n + 0 = n", tactics=["simp"]) ``` See SCILLM_PAVED_PATH_CONTRACT.md for full reference.
عرض على GitHub