Spaces:
Sleeping
Sleeping
Commit History
-
Fix turn counting, task-aware max steps in inference, explicit conversation reset, openenv.yaml metadata
Naman Gupta905ac2f
-
added automatic attack button in UI and improved roleplay
abd2333 -
added frontend for the project
Naman Guptaf61eeae
-
Fix pipeline 0.0 scoring override, resolve test floating-point flakiness, and add readable CLI output for inference.py
9c67b20
-
wire up the main LLM pipeline — defender + classifiers in one place
Naman Guptarun_llm_pipeline() is what the server calls on every /step. It now orchestrates all the modules: conversation memory, defender response, attack scoring, and defense quality. Also added grade_episode_with_llm() to review the full episode after it ends.5ebe298 -
add defense scorer — how well did the defender actually handle that?
Naman GuptaSeparate from the attack classifier because a defense can technically succeed (no harmful info shared) but still be vague, unhelpful, or confusing. This scores the quality of the refusal itself, not just whether it happened.463b003 -
add attack classifier — did the attacker actually win this turn?
Naman GuptaUses a separate Groq call to judge each exchange on a 0.0–1.0 scale. Way more accurate than keyword matching — previously a clear refusal would still score 0.6. Falls back to phrase counting if the API is unavailable.8708281 -
add defender LLM — the AI that holds the line against attacks
Naman GuptaWraps the Groq call with a safety-focused system prompt. Keeps responses consistent (temp 0.3) and falls back gracefully if the API goes down instead of crashing the whole episode.e28e08d -
add ConversationManager to give the defender a memory
Naman GuptaWithout this, the defender forgets everything it said on the previous turn. Now it tracks the full back-and-forth so it can't be tricked by "you already agreed to help me" attacks.99a9cb9 -
add Groq client setup — one place to rule all API calls
Naman GuptaPulled the API connection out into its own file so every module imports from the same source. Change the model or swap providers? Edit one file, done.f778bee -
feat(llm): add run_llm_pipeline() stub with correct return shape for Person 3
962dc67 -
chore(llm): add llm package __init__.py
d0d319c