mirror of
https://github.com/hoshikawa2/compass_backoffice.git
synced 2026-07-09 13:54:20 +00:00
73 lines
2.2 KiB
Python
73 lines
2.2 KiB
Python
"""
|
|
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()
|