CoolFace
Apppublic

MKooi/Coding_Agents

sourceHugging Faceupdated 7mo agoView on Hugging Face
0likes
orchestrator_level3.py97 linesDownload Raw Back to root
1from agents.planner import planner2from agents.coder import coder3from agents.reviewer import reviewer4from agents.reasoner import reasoner5 6from voting import voting_engine7from symbolic_verifier import verify_formula8from numeric_verifier import numeric_verify9from sandbox import run_code_safely10from confidence import compute_confidence11 12 13def run_pipeline(problem, language="python"):14 15    # 1️⃣ Planner16    plan = planner(problem)17    if not plan:18        return {"error": "Planner failed"}19 20    # 2️⃣ Dual Reasoning21    r1 = reasoner(plan, temperature=0)22    r2 = reasoner(plan, temperature=0.5)23 24    chosen_reasoning, dual_agreement = voting_engine(r1, r2)25 26    if not chosen_reasoning:27        return {"error": "Reasoning failed"}28 29    formula = chosen_reasoning.get("formula")30    derivation = chosen_reasoning.get("derivation")31 32    # 3️⃣ Verification33    symbolic_verification = verify_formula(problem, formula) if formula else {"valid": False}34    symbolic_pass = symbolic_verification.get("valid", False)35 36    numeric_pass = numeric_verify(formula) if formula else False37 38    # Retry if failed39    if not symbolic_pass or not numeric_pass:40        r_retry = reasoner(plan, temperature=0.7)41 42        formula = r_retry.get("formula")43        derivation = r_retry.get("derivation")44 45        symbolic_verification = verify_formula(problem, formula) if formula else {"valid": False}46        symbolic_pass = symbolic_verification.get("valid", False)47 48        numeric_pass = numeric_verify(formula) if formula else False49 50    # 4️⃣ Code Generation (Hybrid aware)51    coder_input = {52        "problem": problem,53        "formula": formula,54        "instruction": "Write simple code that prints the derivative result only."55    }56 57    coder_result = coder(coder_input, language=language)58 59    if not coder_result:60        return {"error": "Code generation failed"}61 62    code = coder_result.get("code")63 64    if not code:65        return {"error": "Empty code returned"}66 67    # 5️⃣ Sandbox68    sandbox_result = run_code_safely(code, language)69    sandbox_success = sandbox_result.get("returncode", 1) == 070 71    # 6️⃣ Review72    review = reviewer(code, language=language)73 74    if isinstance(review, str):75        reviewer_approved = "APPROVED" in review.upper()76    else:77        reviewer_approved = review.get("approved", False)78 79    # 7️⃣ Confidence80    confidence = compute_confidence(81        dual_agreement,82        symbolic_pass,83        numeric_pass,84        sandbox_success,85        reviewer_approved86    )87 88    return {89        "plan": plan,90        "formula": formula,91        "derivation": derivation,92        "symbolic_verification": symbolic_verification,93        "numeric_pass": numeric_pass,94        "code": code,95        "sandbox": sandbox_result,96        "confidence": confidence97    }