SilverSight/scripts/test_lean_llm.py
allaun d2ece9d5ad feat: agent-produced extensions to SidonAdapter, UnitDistCandidateGen, and formal infrastructure
- SidonAdapter.lean: updated Singer construction integration
- UnitDistCandidateGen.lean: enhanced golden-angle perturbation
- WeightCandidateGen.lean: cmix weight matrix -> ManifoldShortcut
- ComplexProjectiveSpace.lean: Kaehler geometry scaffolding
- EisensteinSeries.lean: modular forms stub infrastructure
- test scripts: concurrency and Lean LLM integration tests
2026-07-04 01:05:14 -05:00

35 lines
1.3 KiB
Python

#!/usr/bin/env python3
"""Test which FreeLLMAPI model is best for Lean proofs."""
import urllib.request
import json
API = "http://127.0.0.1:3001/v1"
KEY = "freellmapi-ef5610fa456735f2bcb6205faf03f8725fe41265f129cd56"
models = ["codestral", "deepseek-v4-flash", "deepseek-v4-pro", "phi-4-reasoning", "hermes-3-405b", "nous-coder"]
prompt = "theorem add_comm (a b : Nat) : a + b = b + a := by\n sorry\n\nFill the sorry. Output ONLY: rfl or the proof term."
for model in models:
body = json.dumps({
"model": model,
"messages": [
{"role": "system", "content": "You are a Lean 4 proof engineer. Output raw Lean code only."},
{"role": "user", "content": prompt},
],
"temperature": 0.1,
"max_tokens": 200,
}).encode()
req = urllib.request.Request(
f"{API}/chat/completions", data=body,
headers={"Content-Type": "application/json",
"Authorization": f"Bearer {KEY}"},
)
try:
resp = urllib.request.urlopen(req, timeout=60)
data = json.loads(resp.read())
content = data["choices"][0]["message"]["content"][:100]
routed = data.get("_routed_via", {})
print(f" {model:25s}{content}")
except Exception as e:
print(f" {model:25s} → ERROR: {str(e)[:60]}")