File size: 1,057 Bytes
0f166dc |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
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 |