""" Simple script to test Langfuse connection and retrieve a prompt. Usage: uv run python scripts/get_prompt_from_langfuse.py """ # Import settings and setup Langfuse environment variables from src.core.config import settings settings.setup_langfuse() from langfuse import Langfuse from src.core.logging import setup_logging # Setup logging to see what's happening logger = setup_logging(log_level=settings.LOG_LEVEL, log_format=settings.LOG_FORMAT) def main(): try: logger.info(f"Connecting to Langfuse at: {settings.LANGFUSE_BASE_URL}") # Initialize Langfuse client # The client will use the environment variables exported by settings.setup_langfuse() # or we can pass them explicitly as in the upload script. client = Langfuse( public_key=settings.LANGFUSE_PUBLIC_KEY, secret_key=settings.LANGFUSE_SECRET_KEY, host=settings.LANGFUSE_BASE_URL, ) # List of prompts we know should exist (from upload_prompts_to_langfuse.py) prompt_name = "ticket_reclassification_pt" logger.info(f"Attempting to retrieve prompt: '{prompt_name}'") prompt = client.get_prompt(prompt_name, max_retries=2) logger.info( "Prompt retrieved successfully", extra={ "prompt_name": prompt_name, "version": prompt.version, "labels": getattr(prompt, "labels", None), }, ) print("\n" + "=" * 50) print(f"PROMPT: {prompt_name} | version={prompt.version} | labels={getattr(prompt, 'labels', 'N/A')}") print("=" * 50) print(prompt.prompt) print("=" * 50 + "\n") except Exception as error: error_type = type(error).__name__ error_detail = str(error) if str(error) else "(no message)" logger.error( "Failed to retrieve prompt", extra={ "prompt_name": prompt_name, "error_type": error_type, "error_detail": error_detail, }, exc_info=True, ) finally: client.flush() if __name__ == "__main__": main()