ALM_LLM / utils /tracing.py
AshenH's picture
Uploaded support files
0f166dc verified
raw
history blame
1.06 kB
import os
import json
from typing import Optional
class Tracer:
def __init__(self, client=None, trace_url: Optional[str] = None):
self.client = client
self.trace_url = trace_url
@classmethod
def from_env(cls):
try:
from langfuse import Langfuse
pk = os.getenv("LANGFUSE_PUBLIC_KEY")
sk = os.getenv("LANGFUSE_SECRET_KEY")
host = os.getenv("LANGFUSE_HOST", "https://cloud.langfuse.com")
if pk and sk:
client = Langfuse(public_key=pk, secret_key=sk, host=host)
session = client.trace("tabular-agentic-xai")
return cls(client=session, trace_url=session.get_url() if hasattr(session, "get_url") else None)
except Exception:
pass
return cls()
def trace_event(self, name: str, payload: dict):
if self.client:
try:
self.client.event(name=name, input=json.dumps(payload))
except Exception:
pass