Class: Raix::CompletionContext

Inherits:
Object
  • Object
show all
Defined in:
lib/raix/completion_context.rb

Overview

Context object passed to before_completion hooks. Provides access to the chat completion instance, messages, and request parameters. Messages can be mutated for content filtering, PII redaction, etc.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(chat_completion:, messages:, params:) ⇒ CompletionContext

Returns a new instance of CompletionContext.



10
11
12
13
14
# File 'lib/raix/completion_context.rb', line 10

def initialize(chat_completion:, messages:, params:)
  @chat_completion = chat_completion
  @messages = messages # mutable - hooks can modify for filtering, redaction, etc.
  @params = params # mutable - hooks can modify parameters
end

Instance Attribute Details

#chat_completionObject (readonly)

Returns the value of attribute chat_completion.



8
9
10
# File 'lib/raix/completion_context.rb', line 8

def chat_completion
  @chat_completion
end

#messagesObject (readonly)

Returns the value of attribute messages.



8
9
10
# File 'lib/raix/completion_context.rb', line 8

def messages
  @messages
end

#paramsObject (readonly)

Returns the value of attribute params.



8
9
10
# File 'lib/raix/completion_context.rb', line 8

def params
  @params
end

Instance Method Details

#chat_completion_classObject

Get the class that includes ChatCompletion



27
28
29
# File 'lib/raix/completion_context.rb', line 27

def chat_completion_class
  chat_completion.class
end

#configurationObject

Get the current configuration



32
33
34
# File 'lib/raix/completion_context.rb', line 32

def configuration
  chat_completion.configuration
end

#current_modelObject

Get the currently configured model



22
23
24
# File 'lib/raix/completion_context.rb', line 22

def current_model
  chat_completion.model || chat_completion.configuration.model
end

#transcriptObject

Convenience accessor for the transcript



17
18
19
# File 'lib/raix/completion_context.rb', line 17

def transcript
  chat_completion.transcript
end