AxiomForgeAI / src /config /README.md
jampuramprem's picture
Initial Space deployment
ec4ae03

Centralized Prompt Configuration

All prompts for question generation and solution generation are centralized in src/config/prompts.py.

Why Centralized?

  • Consistency: Same prompts across SFT training, GRPO, PPO, and inference
  • Maintainability: Single source of truth for all prompt text
  • Flexibility: Easy to tune prompts without hunting through multiple files

Usage

Question Generation

from src.config.prompts import create_generator_messages

instruction = "Generate a problem about fractions in a shopping context"
messages = create_generator_messages(instruction)
# Returns:
# [
#   {"role": "system", "content": GENERATOR_SYSTEM_PROMPT},
#   {"role": "user", "content": "### Task: Generate Question\n{instruction}"}
# ]

Solution Generation

from src.config.prompts import create_solver_messages

question = "If John has 5 apples and gives 2 away, how many does he have?"
messages = create_solver_messages(question)
# Returns:
# [
#   {"role": "system", "content": SOLVER_SYSTEM_PROMPT},
#   {"role": "user", "content": "### Task: Solve Problem\nProblem: {question}\nSolution:"}
# ]

Files Using Centralized Prompts

  • scripts/run_grpo_training.py - GRPO question generation
  • scripts/dual_task_sft_pipeline.py - SFT training
  • scripts/create_dual_task_dataset.py - Dataset creation
  • src/rl/math_environment.py - PPO environment
  • src/rl/triple_verifier.py - Consensus verification

Prompt Design Principles

Question Generation

  • No explicit step constraints: Let the model decide complexity naturally
  • Focus on realistic scenarios and simple operations (grade-school level)
  • Output only the problem statement, no solutions

Solution Generation

  • Step-by-step format: Each step on its own line starting with "Step N:"
  • Final Answer format: Line starting with "Final Answer:"
  • Python/SymPy syntax: All math expressions verifiable programmatically