Skip to content

Commit 5d691cb

Browse files
author
lievan
committed
update link
1 parent a95614c commit 5d691cb

File tree

2 files changed

+15
-25
lines changed

2 files changed

+15
-25
lines changed

ddtrace/llmobs/_llmobs.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def enable(
119119
_tracer: Optional[ddtrace.Tracer] = None,
120120
) -> None:
121121
"""
122-
Enable LLM Observability tracing.
122+
Enable LLMObs tracing.
123123
124124
:param str ml_app: The name of your ml application.
125125
:param bool integrations_enabled: Set to `true` to enable LLM integrations.
@@ -289,7 +289,7 @@ def llm(
289289
session_id: Optional[str] = None,
290290
ml_app: Optional[str] = None,
291291
) -> Span:
292-
print("[✧ LLM Observability] LLM ✨: {} running ...".format(name))
292+
print("[✧ LLMObs] LLM ✨: {} running ...".format(name), flush=True)
293293
"""
294294
Trace an invocation call to an LLM where inputs and outputs are represented as text.
295295
@@ -327,7 +327,7 @@ def tool(cls, name: Optional[str] = None, session_id: Optional[str] = None, ml_a
327327
328328
:returns: The Span object representing the traced operation.
329329
"""
330-
print("[✧ LLM Observability] Tool 🔧: {} running ...".format(name))
330+
print("[✧ LLMObs] Tool 🔧: {} running ...".format(name), flush=True)
331331
if cls.enabled is False:
332332
log.warning(SPAN_START_WHILE_DISABLED_WARNING)
333333
return cls._instance._start_span("tool", name=name, session_id=session_id, ml_app=ml_app)
@@ -344,14 +344,14 @@ def task(cls, name: Optional[str] = None, session_id: Optional[str] = None, ml_a
344344
345345
:returns: The Span object representing the traced operation.
346346
"""
347-
print("[✧ LLM Observability] Task 📌: {} running...".format(name))
347+
print("[✧ LLMObs] Task 📌: {} running...".format(name), flush=True)
348348
if cls.enabled is False:
349349
log.warning(SPAN_START_WHILE_DISABLED_WARNING)
350350
return cls._instance._start_span("task", name=name, session_id=session_id, ml_app=ml_app)
351351

352352
@classmethod
353353
def agent(cls, name: Optional[str] = None, session_id: Optional[str] = None, ml_app: Optional[str] = None) -> Span:
354-
print("[✧ LLM Observability] Agent 🤖: {} running ...".format(name))
354+
print("[✧ LLMObs] Agent 🤖: {} running ...".format(name), flush=True)
355355
"""
356356
Trace a dynamic workflow in which an embedded language model (agent) decides what sequence of actions to take.
357357
@@ -370,7 +370,7 @@ def agent(cls, name: Optional[str] = None, session_id: Optional[str] = None, ml_
370370
def workflow(
371371
cls, name: Optional[str] = None, session_id: Optional[str] = None, ml_app: Optional[str] = None
372372
) -> Span:
373-
print("[✧ LLM Observability] Workflow 🔗: {} running ...".format(name))
373+
print("[✧ LLMObs] Workflow 🔗: {} running ...".format(name), flush=True)
374374
"""
375375
Trace a predefined or static sequence of operations.
376376
@@ -428,7 +428,7 @@ def embedding(
428428
def retrieval(
429429
cls, name: Optional[str] = None, session_id: Optional[str] = None, ml_app: Optional[str] = None
430430
) -> Span:
431-
print("[✧ LLM Observability] Retrieval 🔎: {} running ...".format(name))
431+
print("[✧ LLMObs] Retrieval 🔎: {} running ...".format(name), flush=True)
432432
"""
433433
Trace a vector search operation involving a list of documents being returned from an external knowledge base.
434434

ddtrace/llmobs/_trace_processor.py

Lines changed: 8 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -105,26 +105,16 @@ def _llmobs_span_event(self, span: Span) -> Dict[str, Any]:
105105
parent_id = str(_get_llmobs_parent_id(span) or "undefined")
106106
span._meta.pop(PARENT_ID_KEY, None)
107107

108-
name = _get_span_name(span)
109-
if span_kind == "llm":
110-
print("[✧ LLM Observability] LLM ✨: {} finished in {} seconds!".format(name, span.duration))
111-
elif span_kind == "workflow":
112-
print("[✧ LLM Observability] Workflow 🔗: {} finished in {} seconds!".format(name, span.duration))
113-
elif span_kind == "agent":
114-
print("[✧ LLM Observability] Agent 🤖: {} finished in {} seconds!".format(name, span.duration))
115-
url = """
116-
View your agent run:
117-
https://app.datadoghq.com/llm/traces?query=%40event_type%3Aspan%20%40parent_id%3Aundefined%20%40trace_id%3A{}%20&agg_m=count&agg_m_source=base&agg_t=count&fromUser=false&llmPanels=%5B%7B%22t%22%3A%22sampleDetailPanel%22%2C%22rEID%22%3A%22AgAAAZDMT2fSc-LOggAAAAAAAAAYAAAAAEFaRE1UMS1vQUFBMl9fZXBadnc3QUFBQQAAACQAAAAAMDE5MGNjNGYtODc3MC00YmY0LTg5NGItZmFiNTY1NDk1ZjE0%22%7D%5D&sidepanelTab=trace&viz=stream
108+
if parent_id == "undefined":
109+
url = """[✧ LLMObs] Trace with root span name "{span_name}" finished in {span_duration} seconds 🎉!
110+
111+
View your trace at:
112+
https://dd.datad0g.com/llm/traces?query=%40ml_app%3Aai-chat
118113
""".format(
119-
span.trace_id
114+
span_name=span.name,
115+
span_duration=span.duration,
120116
)
121-
print(url)
122-
elif span_kind == "tool":
123-
print("[✧ LLM Observability] Tool 🔧: {} finished in {} seconds!".format(name, span.duration))
124-
elif span_kind == "task":
125-
print("[✧ LLM Observability] Task 📌: {} finished in {} seconds!".format(name, span.duration))
126-
elif span_kind == "retrieval":
127-
print("[✧ LLM Observability] Retrieval 🔎: {} finished in {} seconds!".format(name, span.duration))
117+
print(url, flush=True)
128118

129119
return {
130120
"trace_id": "{:x}".format(span.trace_id),

0 commit comments

Comments
 (0)