Module: Langchain::Datadog::LLM

Includes:
Tracing
Defined in:
lib/langchain/datadog/llm.rb

Overview

Implements hooks for Langchain::LLM module classes to capture LLM calls and report them to the Datadog LLM Observability API.

Instance Method Summary collapse

Methods included from Tracing

active_parent_id, active_span_id, active_trace_id, agent, end_span, start_span, workflow

Instance Method Details

#chat(params = {}) ⇒ Object



10
11
12
13
14
15
16
# File 'lib/langchain/datadog/llm.rb', line 10

def chat(params = {}, ...)
  return super unless Datadog.enabled?

  parameters = chat_parameters.to_params(params)

  span(parameters) { super }
end

#complete(prompt:) ⇒ Object



18
19
20
21
22
23
24
# File 'lib/langchain/datadog/llm.rb', line 18

def complete(prompt:, **)
  return super unless Datadog.enabled?

  parameters = { prompt: }

  span(parameters) { super }
end

#embed(text:) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/langchain/datadog/llm.rb', line 26

def embed(text:, **)
  return super unless Datadog.enabled?

  parameters = { text: }

  span(parameters, kind: 'embedding') { super }
end

#summarize(text:) ⇒ Object



34
35
36
37
38
39
40
# File 'lib/langchain/datadog/llm.rb', line 34

def summarize(text:, **)
  return super unless Datadog.enabled?

  parameters = { text: }

  span(parameters, kind: 'task') { super }
end