Class: NitroIntelligence::Client::Handlers::Observed::ChatHandler

Inherits:
Object
  • Object
show all
Defined in:
lib/nitro_intelligence/client/handlers/observed/chat_handler.rb

Defined Under Namespace

Classes: ObservedChatPromptError

Instance Method Summary collapse

Constructor Details

#initialize(base_handler:, observer:) ⇒ ChatHandler

Returns a new instance of ChatHandler.



10
11
12
13
# File 'lib/nitro_intelligence/client/handlers/observed/chat_handler.rb', line 10

def initialize(base_handler:, observer:)
  @base_handler = base_handler
  @observer = observer
end

Instance Method Details

#create(message: "", parameters: {}) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/nitro_intelligence/client/handlers/observed/chat_handler.rb', line 15

def create(message: "", parameters: {})
  @base_handler.validate_and_resolve!(parameters, message)

  prompt = handle_prompt(parameters:)
  validate_message_shape!(parameters:, prompt:)

  trace_name = parameters[:trace_name] || prompt&.name || @observer.project_client.project.slug

  @observer.observe(
    "chat-completion",
    type: :generation,
    parameters:,
    trace_name:,
    prompt:,
    input: parameters[:messages]
  ) do |generation|
    workflow(generation:, parameters:)
  end
end