Class: Langfuse::Retriever

Inherits:
BaseObservation show all
Defined in:
lib/langfuse/observations.rb

Overview

Observation for tracking document retrieval and search operations.

Examples:

Block-based API

Langfuse.observe("document-search", as_type: :retriever) do |retriever|
  retriever.input = { query: "Ruby programming", top_k: 5 }
  documents = vector_db.search(retriever.input[:query], limit: retriever.input[:top_k])
  retriever.update(
    output: documents,
    metadata: { num_results: documents.length, search_time_ms: 45 }
  )
end

Stateful API

retriever = Langfuse.start_observation("semantic-search", {
  input: { query: "machine learning", top_k: 10 }
}, as_type: :retriever)
results = search_index.query(retriever.input[:query])
retriever.update(output: results)
retriever.end

Instance Attribute Summary

Attributes inherited from BaseObservation

#otel_span, #otel_tracer, #type

Instance Method Summary collapse

Methods inherited from BaseObservation

#current_span, #end, #event, #id, #input=, #level=, #metadata=, #output=, #start_observation, #trace_id, #trace_url, #update_trace

Constructor Details

#initialize(otel_span, otel_tracer, attributes: nil) ⇒ Retriever

Returns a new instance of Retriever.



485
486
487
# File 'lib/langfuse/observations.rb', line 485

def initialize(otel_span, otel_tracer, attributes: nil)
  super(otel_span, otel_tracer, attributes: attributes, type: OBSERVATION_TYPES[:retriever])
end

Instance Method Details

#update(attrs) ⇒ self

Parameters:

Returns:

  • (self)


491
492
493
494
# File 'lib/langfuse/observations.rb', line 491

def update(attrs)
  update_observation_attributes(attrs)
  self
end