fix(langfuse): v4 가 옛 ingestion 을 거부 — OTLP/HTTP JSON(/api/public/otel/v1/traces)으로 전환, 로컬 Langfuse 실측 통과. 사용자·세션 속성은 자식 span 에도 복사
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
0321050053
commit
55f2e8fb60
@@ -101,11 +101,13 @@ def _observe(model_id: str, body: dict, col: _Collect, started: float, status: i
|
||||
return
|
||||
u = col.usage or {}
|
||||
tid = str(uuid.uuid4())
|
||||
t0 = datetime.fromtimestamp(started, timezone.utc).isoformat()
|
||||
root = langfuse.trace(tid, "fabrix", tags=["gateway"], metadata={"parts": kinds}, start=t0, end=langfuse.now_iso())
|
||||
langfuse.send_later([
|
||||
langfuse.trace(tid, "fabrix", tags=["gateway"], metadata={"parts": kinds}),
|
||||
root,
|
||||
langfuse.generation(
|
||||
tid, "fabrix.chat", model=model_id,
|
||||
startTime=datetime.fromtimestamp(started, timezone.utc).isoformat(), endTime=langfuse.now_iso(),
|
||||
tid, "fabrix.chat", model=model_id, parent=root,
|
||||
startTime=t0, endTime=langfuse.now_iso(),
|
||||
input=body.get("messages"), output="".join(col.text),
|
||||
usage=langfuse.usage_of(u.get("prompt_tokens"), u.get("completion_tokens")),
|
||||
level="ERROR" if status >= 400 else "DEFAULT", statusMessage="" if status < 400 else f"upstream {status}",
|
||||
|
||||
Reference in New Issue
Block a user