Class: LLM::Tracer::Logger
- Inherits:
-
LLM::Tracer
- Object
- LLM::Tracer
- LLM::Tracer::Logger
- Defined in:
- lib/llm/tracer/logger.rb
Overview
The LLM::Tracer::Logger class provides a tracer that provides logging facilities through Ruby's standard library.
Instance Method Summary collapse
- #on_request_error(ex:) ⇒ void
- #on_request_start(operation:, model: nil) ⇒ void
- #on_request_finish(operation:, res:, model: nil) ⇒ void
-
#initialize(provider,
options = {}) ⇒ Logger constructor
A new instance of Logger.
- #on_tool_start(id:, name:, arguments:, model:) ⇒ void
- #on_tool_finish(result:) ⇒ void
- #on_tool_error(ex:) ⇒ void
Methods inherited from LLM::Tracer
Constructor Details
#initialize(provider, options = {}) ⇒ Logger
Returns a new instance of Logger.
18 19 20 21 |
# File 'lib/llm/tracer/logger.rb', line 18 def initialize(provider, = {}) super setup!(**) end |
Instance Method Details
#on_request_error(ex:) ⇒ void
This method returns an undefined value.
48 49 50 51 52 53 54 55 56 |
# File 'lib/llm/tracer/logger.rb', line 48 def on_request_error(ex:, **) @logger.error( tracer: "llm.rb (logger)", event: "request.error", provider: provider_name, error_class: ex.class.to_s, error_message: ex. ) end |
#on_request_start(operation:, model: nil) ⇒ void
This method returns an undefined value.
26 27 28 29 30 31 32 |
# File 'lib/llm/tracer/logger.rb', line 26 def on_request_start(operation:, model: nil) case operation when "chat" then start_chat(operation:, model:) when "retrieval" then start_retrieval(operation:) else nil end end |
#on_request_finish(operation:, res:, model: nil) ⇒ void
This method returns an undefined value.
37 38 39 40 41 42 43 |
# File 'lib/llm/tracer/logger.rb', line 37 def on_request_finish(operation:, res:, model: nil, **) case operation when "chat" then finish_chat(operation:, res:, model:) when "retrieval" then finish_retrieval(operation:, res:) else nil end end |
#on_tool_start(id:, name:, arguments:, model:) ⇒ void
This method returns an undefined value.
61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/llm/tracer/logger.rb', line 61 def on_tool_start(id:, name:, arguments:, model:, **) @logger.info( tracer: "llm.rb (logger)", event: "tool.start", provider: provider_name, operation: "execute_tool", tool_id: id, tool_name: name, tool_arguments: arguments, model: ) end |
#on_tool_finish(result:) ⇒ void
This method returns an undefined value.
77 78 79 80 81 82 83 84 85 86 87 |
# File 'lib/llm/tracer/logger.rb', line 77 def on_tool_finish(result:, **) @logger.info( tracer: "llm.rb (logger)", event: "tool.finish", provider: provider_name, operation: "execute_tool", tool_id: result.id, tool_name: result.name, tool_result: result.value ) end |
#on_tool_error(ex:) ⇒ void
This method returns an undefined value.
92 93 94 95 96 97 98 99 100 101 |
# File 'lib/llm/tracer/logger.rb', line 92 def on_tool_error(ex:, **) @logger.error( tracer: "llm.rb (logger)", event: "tool.error", provider: provider_name, operation: "execute_tool", error_class: ex.class.to_s, error_message: ex. ) end |