Spaces:
Build error
Build error
| """ | |
| Updated LangGraph Agent Implementation | |
| Implements the architecture from the system diagram with memory layer, agent routing, and verification. | |
| """ | |
| import os | |
| import sys | |
| from dotenv import load_dotenv | |
| # Load environment variables | |
| load_dotenv() | |
| # Import the new agent system | |
| from src import run_agent_system, memory_manager | |
| from src.tracing import flush_langfuse, shutdown_langfuse | |
| def run_agent(query: str) -> str: | |
| """ | |
| Main entry point for the agent system. | |
| Args: | |
| query: The user question | |
| Returns: | |
| The formatted final answer | |
| """ | |
| try: | |
| # Run the new agent system | |
| result = run_agent_system( | |
| query=query, | |
| user_id=os.getenv("USER_ID", "default_user"), | |
| session_id=os.getenv("SESSION_ID", "default_session") | |
| ) | |
| # Flush tracing events | |
| flush_langfuse() | |
| return result | |
| except Exception as e: | |
| print(f"Agent Error: {e}") | |
| return f"I apologize, but I encountered an error: {e}" | |
| def clear_memory(): | |
| """Clear the agent's session memory""" | |
| memory_manager.clear_session_cache() | |
| print("Agent memory cleared") | |
| def cleanup(): | |
| """Cleanup function for graceful shutdown""" | |
| try: | |
| flush_langfuse() | |
| shutdown_langfuse() | |
| memory_manager.close_checkpointer() | |
| print("Agent cleanup completed") | |
| except Exception as e: | |
| print(f"Cleanup error: {e}") | |
| if __name__ == "__main__": | |
| # Test the agent system | |
| test_queries = [ | |
| "What is the capital of France?", | |
| "Calculate the factorial of 5", | |
| "What are the benefits of renewable energy?" | |
| ] | |
| print("Testing new LangGraph Agent System") | |
| print("=" * 50) | |
| for i, query in enumerate(test_queries, 1): | |
| print(f"\nTest {i}: {query}") | |
| print("-" * 30) | |
| try: | |
| result = run_agent(query) | |
| print(f"Result: {result}") | |
| except Exception as e: | |
| print(f"Error: {e}") | |
| # Cleanup | |
| cleanup() | |
| print("\nAll tests completed!") |