Spaces:
Sleeping
Sleeping
| import os | |
| import logging | |
| from graph import agent_graph | |
| # Configure logging | |
| logging.basicConfig(level=logging.INFO) # Default to INFO level | |
| logger = logging.getLogger(__name__) | |
| # Enable LiteLLM debug logging only if environment variable is set | |
| import litellm | |
| if os.getenv('LITELLM_DEBUG', 'false').lower() == 'true': | |
| litellm.set_verbose = True | |
| logger.setLevel(logging.DEBUG) | |
| else: | |
| litellm.set_verbose = False | |
| logger.setLevel(logging.INFO) | |
| class AgentRunner: | |
| def __init__(self): | |
| logger.debug("Initializing AgentRunner") | |
| logger.info("AgentRunner initialized.") | |
| def __call__(self, question: str) -> str: | |
| logger.debug(f"Processing question: {question[:50]}...") | |
| logger.info(f"Agent received question (first 50 chars): {question[:50]}...") | |
| try: | |
| # Run the graph with the question | |
| result = agent_graph.invoke({ | |
| "messages": [], | |
| "question": question, | |
| "answer": None | |
| }) | |
| # Extract and return the answer | |
| answer = result["answer"] | |
| logger.debug(f"Successfully generated answer: {answer}") | |
| logger.info(f"Agent returning answer: {answer}") | |
| return answer | |
| except Exception as e: | |
| logger.error(f"Error in agent execution: {str(e)}", exc_info=True) | |
| raise | |