test_conversation_context.pyโข5.54 kB
#!/usr/bin/env python3
"""
๐งช Test Script: Verify Conversation Context Inclusion for General Questions
"""
def test_conversation_context_inclusion():
"""Test if conversation context is included for general questions"""
print("๐งช TESTING CONVERSATION CONTEXT INCLUSION FOR GENERAL QUESTIONS")
print("=" * 70)
try:
# Test 1: Import optimized prompt generator
print("1๏ธโฃ Testing optimized prompt generator import...")
from optimized_prompt_generator import OptimizedPromptGenerator
generator = OptimizedPromptGenerator()
print("โ
OptimizedPromptGenerator imported successfully")
# Test 2: Create test context with all sections
print("\n2๏ธโฃ Testing context with all sections...")
from prompt_generator import PromptContext
# Create test context with all sections
test_context = PromptContext(
conversation_summary="Test conversation summary with interactions",
action_history="Test action history with recent actions",
tech_stack="Test tech stack",
project_plans="๐ฏ PROJECT PLANS & OBJECTIVES:\n1. Build powerful conversation tracking system โ
\n2. Implement context-aware prompt processing โ
\n3. Create intelligent memory management system โ
",
user_preferences="Test user preferences",
agent_metadata="Test agent metadata",
recent_interactions=[],
project_patterns=[],
best_practices=[],
common_issues=[],
development_workflow=[],
confidence_score=0.9,
context_type="test"
)
print("โ
Test context created with all sections")
# Test 3: Test context conversion
print("\n3๏ธโฃ Testing context conversion...")
context_dict = generator._context_to_dict(test_context)
print(f"โ
Context converted to dict")
print(f"๐ Available keys: {list(context_dict.keys())}")
print(f"๐ฌ Conversation summary: {'conversation_summary' in context_dict}")
print(f"๐ Action history: {'action_history' in context_dict}")
print(f"๐ฏ Project plans: {'project_plans' in context_dict}")
# Test 4: Test intent classification for general question
print("\n4๏ธโฃ Testing intent classification for general question...")
if generator.intent_selector:
relevant_context, intent_analysis = generator.intent_selector.select_relevant_context(
"test to see if we now get conversation context for general questions",
context_dict
)
print(f"โ
Intent classified successfully")
print(f"๐ฏ Intent: {intent_analysis.primary_intent.value}")
print(f"๐ Context requirements: {intent_analysis.context_requirements}")
print(f"๐ง Selected context: {list(relevant_context.keys())}")
else:
print("โ ๏ธ Intent selector not available")
# Test 5: Test conversation context formatting
print("\n5๏ธโฃ Testing conversation context formatting...")
conversation_context = generator._format_phase1_conversation_context(context_dict)
print(f"โ
Conversation context formatted")
print(f"๐ Result length: {len(conversation_context)}")
print(f"๐ฌ Contains context: {'๐ฌ CONTEXT:' in conversation_context}")
print(f"๐ Contains recent: {'๐ RECENT:' in conversation_context}")
print(f"๐ฏ Contains goals: {'๐ฏ GOALS:' in conversation_context}")
print(f"๐ Formatted result:\n{conversation_context}")
# Test 6: Test full prompt generation
print("\n6๏ธโฃ Testing full prompt generation...")
try:
full_prompt = generator._create_phase1_optimized_prompt(
"test to see if we now get conversation context for general questions",
test_context,
"smart"
)
print(f"โ
Full prompt generated")
print(f"๐ Prompt length: {len(full_prompt)}")
print(f"๐ฌ Contains context: {'๐ฌ CONTEXT:' in full_prompt}")
print(f"๐ Contains recent: {'๐ RECENT:' in full_prompt}")
print(f"๐ฏ Contains goals: {'๐ฏ GOALS:' in full_prompt}")
print(f"๐ Prompt preview:\n{full_prompt[:500]}...")
except Exception as e:
print(f"โ Full prompt generation failed: {e}")
print("\n" + "=" * 70)
print("๐งช TEST COMPLETE")
# Final assessment
if '๐ฌ CONTEXT:' in conversation_context and '๐ RECENT:' in conversation_context and '๐ฏ GOALS:' in conversation_context:
print("๐ SUCCESS: All conversation context sections are now included!")
else:
print("โ FAILURE: Some conversation context sections are still missing!")
if '๐ฌ CONTEXT:' not in conversation_context:
print(" โ Missing: ๐ฌ CONTEXT")
if '๐ RECENT:' not in conversation_context:
print(" โ Missing: ๐ RECENT")
if '๐ฏ GOALS:' not in conversation_context:
print(" โ Missing: ๐ฏ GOALS")
except Exception as e:
print(f"โ Error during testing: {e}")
import traceback
traceback.print_exc()
if __name__ == "__main__":
test_conversation_context_inclusion()