Fix config override bug by recreating LMs after load_state

This commit is contained in:
2026-01-24 02:29:36 -08:00
parent 1e52a9c8eb
commit 29a153616c

View File

@@ -4,6 +4,7 @@ from modaic import PrecompiledProgram, PrecompiledConfig
import dspy import dspy
import re import re
import subprocess import subprocess
from dspy.utils.callback import BaseCallback
# --- Modaic --- # --- Modaic ---
@@ -23,6 +24,7 @@ MAGENTA = "\033[35m"
# --- File operations --- # --- File operations ---
def read_file(path: str, offset: int = 0, limit: int = None) -> str: def read_file(path: str, offset: int = 0, limit: int = None) -> str:
"""Read file contents with line numbers. """Read file contents with line numbers.
@@ -163,8 +165,15 @@ def run_bash(cmd: str) -> str:
return "".join(output_lines).strip() or "(empty output)" return "".join(output_lines).strip() or "(empty output)"
class RLMReasoningCallback(BaseCallback):
def on_module_end(self, call_id, outputs, exception):
if outputs and hasattr(outputs, "reasoning") and hasattr(outputs, "code"):
print(f"\n[REASONING STEP] reasoning: {outputs.reasoning}\n")
# -- Program --- # -- Program ---
class CodingAssistant(dspy.Signature): class CodingAssistant(dspy.Signature):
"""You are a concise coding assistant with access to sub agents.""" """You are a concise coding assistant with access to sub agents."""
@@ -286,6 +295,11 @@ class RLMCodingProgram(PrecompiledProgram):
# recreate LMs from config (not from saved state) # recreate LMs from config (not from saved state)
self.reload_lms() self.reload_lms()
if __name__ == "__main__": if __name__ == "__main__":
agent = RLMCodingProgram(RLMCodingConfig()) agent = RLMCodingProgram(RLMCodingConfig())
agent.push_to_hub(MODAIC_REPO_PATH, commit_message="Fix config override bug by recreating LMs after load_state", branch="prod") agent.push_to_hub(
MODAIC_REPO_PATH,
commit_message="Fix config override bug by recreating LMs after load_state",
branch="prod"
)