Module: Langfuse::SpanWrappers
- Included in:
- Client, Generation, Span, Trace
- Defined in:
- lib/langfuse/span_wrappers.rb
Overview
Defines the enhanced observation helpers (agent, tool, chain, retriever, evaluator, guardrail) as thin wrappers around the extending class's #span, each pinning a fixed as_type.
embedding is intentionally not generated here: every wrapper folds
model/usage into metadata before delegating, so it stays hand-written.
Constant Summary collapse
- TYPES =
{ agent: ObservationType::AGENT, tool: ObservationType::TOOL, chain: ObservationType::CHAIN, retriever: ObservationType::RETRIEVER, evaluator: ObservationType::EVALUATOR, guardrail: ObservationType::GUARDRAIL }.freeze
Instance Method Summary collapse
-
#define_span_wrappers(evaluator_name: :evaluator) ⇒ Object
evaluator_nameexists because Client exposes the helper asevaluator_obs, keeping it distinct from the Evaluators API.
Instance Method Details
#define_span_wrappers(evaluator_name: :evaluator) ⇒ Object
evaluator_name exists because Client exposes the helper as
evaluator_obs, keeping it distinct from the Evaluators API.
22 23 24 25 26 27 28 29 30 |
# File 'lib/langfuse/span_wrappers.rb', line 22 def define_span_wrappers(evaluator_name: :evaluator) TYPES.each do |name, as_type| method_name = name == :evaluator ? evaluator_name : name define_method(method_name) do |**kwargs| span(**kwargs, as_type: as_type) end end end |