| """Langfuse observability integration.""" | |
| from langfuse import Langfuse | |
| from src.config.settings import settings | |
| from src.middlewares.logging import get_logger | |
| logger = get_logger("langfuse") | |
| def get_langfuse(): | |
| """Get Langfuse client.""" | |
| return Langfuse( | |
| public_key=settings.LANGFUSE_PUBLIC_KEY, | |
| secret_key=settings.LANGFUSE_SECRET_KEY, | |
| host=settings.LANGFUSE_HOST | |
| ) | |
| def trace_chat(user_id: str, room_id: str, query: str, response: str): | |
| """Trace a chat interaction.""" | |
| langfuse = get_langfuse() | |
| langfuse.score( | |
| name="chat_interaction", | |
| value=1, # Placeholder for quality score | |
| comment="Successful chat" | |
| ) | |
| langfuse.flush() | |