Class: DebugAgent::ChatSession
- Inherits:
-
Object
- Object
- DebugAgent::ChatSession
- Defined in:
- lib/debug_agent/chat_session.rb
Instance Attribute Summary collapse
-
#cumulative_completion_tokens ⇒ Object
Returns the value of attribute cumulative_completion_tokens.
-
#cumulative_prompt_tokens ⇒ Object
Returns the value of attribute cumulative_prompt_tokens.
-
#last_token_usage ⇒ Object
Returns the value of attribute last_token_usage.
-
#messages ⇒ Object
Returns the value of attribute messages.
-
#session_id ⇒ Object
Returns the value of attribute session_id.
Instance Method Summary collapse
- #add_message(msg) ⇒ Object
- #clear ⇒ Object
- #current_context_tokens ⇒ Object
-
#initialize(session_id) ⇒ ChatSession
constructor
A new instance of ChatSession.
- #record_token_usage(usage) ⇒ Object
- #replace_messages(msgs) ⇒ Object
Constructor Details
#initialize(session_id) ⇒ ChatSession
Returns a new instance of ChatSession.
8 9 10 11 12 13 14 15 16 |
# File 'lib/debug_agent/chat_session.rb', line 8 def initialize(session_id) @session_id = session_id @messages = [] @created_at = Time.now @last_active_at = @created_at @last_token_usage = nil @cumulative_prompt_tokens = 0 @cumulative_completion_tokens = 0 end |
Instance Attribute Details
#cumulative_completion_tokens ⇒ Object
Returns the value of attribute cumulative_completion_tokens.
5 6 7 |
# File 'lib/debug_agent/chat_session.rb', line 5 def cumulative_completion_tokens @cumulative_completion_tokens end |
#cumulative_prompt_tokens ⇒ Object
Returns the value of attribute cumulative_prompt_tokens.
5 6 7 |
# File 'lib/debug_agent/chat_session.rb', line 5 def cumulative_prompt_tokens @cumulative_prompt_tokens end |
#last_token_usage ⇒ Object
Returns the value of attribute last_token_usage.
5 6 7 |
# File 'lib/debug_agent/chat_session.rb', line 5 def last_token_usage @last_token_usage end |
#messages ⇒ Object
Returns the value of attribute messages.
5 6 7 |
# File 'lib/debug_agent/chat_session.rb', line 5 def @messages end |
#session_id ⇒ Object
Returns the value of attribute session_id.
5 6 7 |
# File 'lib/debug_agent/chat_session.rb', line 5 def session_id @session_id end |
Instance Method Details
#add_message(msg) ⇒ Object
18 19 20 21 |
# File 'lib/debug_agent/chat_session.rb', line 18 def (msg) @messages << msg @last_active_at = Time.now end |
#clear ⇒ Object
39 40 41 42 43 44 45 |
# File 'lib/debug_agent/chat_session.rb', line 39 def clear @messages = [] @last_token_usage = nil @cumulative_prompt_tokens = 0 @cumulative_completion_tokens = 0 @last_active_at = Time.now end |
#current_context_tokens ⇒ Object
35 36 37 |
# File 'lib/debug_agent/chat_session.rb', line 35 def current_context_tokens @cumulative_prompt_tokens end |
#record_token_usage(usage) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/debug_agent/chat_session.rb', line 28 def record_token_usage(usage) return unless usage @last_token_usage = usage @cumulative_prompt_tokens = usage['prompt_tokens'] || 0 @cumulative_completion_tokens += usage['completion_tokens'] || 0 end |
#replace_messages(msgs) ⇒ Object
23 24 25 26 |
# File 'lib/debug_agent/chat_session.rb', line 23 def (msgs) @messages = msgs @last_active_at = Time.now end |