Activation-Patching / agents.py
AmnaHassan's picture
Update agents.py
69d24e3 verified
# agents.py
from typing import List
class ExperimentAgent:
def __init__(self, model, db):
self.model = model
self.db = db
def run(self, prompt, experiment_type="story_continuation"):
generated = self.model.generate_text(prompt)
layer_scores = self.model.layer_importance(prompt, experiment_type=experiment_type)
exp_id = self.db.save_experiment(prompt, generated, layer_scores)
return exp_id, generated, layer_scores
class ExplanationAgent:
def __init__(self):
pass
def explain_layer_importance(self, layer_scores: List[float]) -> str:
# Very simple heuristic explanation: report top-k layers and give short natural-lang summary
import numpy as np
arr = np.array(layer_scores)
if arr.size == 0:
return "No layer scores available."
top_idx = arr.argsort()[-3:][::-1]
top_layers = ", ".join([str(int(i)) for i in top_idx])
summary = f"Top influencing layers (proxy): {top_layers}. Layers with higher scores changed the model's next-token logits the most when ablated. This suggests they strongly affect immediate generation behavior for the provided prompt."
return summary