AI_Personas / examples /phase1_simple_query.py
Claude
Fix example scripts and add API testing utilities
76c6f71 unverified
"""
Phase 1 Example: Simple single persona query
This example demonstrates the basic functionality of querying
a single persona about an urban planning topic.
"""
import sys
from pathlib import Path
# Add parent directory to path
sys.path.insert(0, str(Path(__file__).parent.parent))
from src.pipeline.query_engine import QueryEngine
def main():
print("=" * 70)
print("Phase 1 Example: Single Persona Query")
print("=" * 70)
print()
# Initialize the query engine
print("Initializing system...")
engine = QueryEngine()
# Test system
print("\nTesting system components...")
if not engine.test_system():
print("System test failed. Please check your configuration.")
return
print("\n" + "=" * 70)
print()
# Define a planning question
question = "What do you think about the proposed bike lane on Main Street?"
# Query Sarah Chen (the progressive urban planner)
print(f"Question: {question}")
print("\nQuerying persona: Sarah Chen (Urban Planner)")
print("-" * 70)
response = engine.query(
persona_id="sarah_chen",
question=question,
context_id="downtown_district",
)
print(f"\n{response.persona_name} responds:")
print(f"\n{response.response}")
print()
print("-" * 70)
print(f"Generated at: {response.timestamp}")
print(f"Model: {response.model_used}")
print()
if __name__ == "__main__":
main()