Module: Riffer::Tracing::Capture
Overview
Serializes riffer messages into the GenAI semconv JSON message structure for opt-in span content capture. File parts become metadata-only stubs —bytes and URLs never reach a span attribute.
Instance Method Summary collapse
-
#input_messages(messages) ⇒ Object
– : (Array) -> String.
-
#output_messages(content:, tool_calls:, finish_reason:) ⇒ Object
– : (content: String?, tool_calls: Array, finish_reason: Symbol?) -> String.
-
#system_instructions(messages) ⇒ Object
– : (Array) -> String?.
Instance Method Details
#input_messages(messages) ⇒ Object
– : (Array) -> String
14 15 16 |
# File 'lib/riffer/tracing/capture.rb', line 14 def () JSON.generate(.filter_map { || () }) end |
#output_messages(content:, tool_calls:, finish_reason:) ⇒ Object
– : (content: String?, tool_calls: Array, finish_reason: Symbol?) -> String
29 30 31 32 33 |
# File 'lib/riffer/tracing/capture.rb', line 29 def (content:, tool_calls:, finish_reason:) = {role: "assistant", parts: assistant_parts(content, tool_calls)} #: Hash[Symbol, untyped] [:finish_reason] = finish_reason if finish_reason JSON.generate([]) end |