Class: Datadog::AIGuard::Evaluation::ContentBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/datadog/ai_guard/evaluation/content_builder.rb

Overview

Builder for collecting content parts inside a message block.

Used via the block form of Datadog::AIGuard.message:

Datadog::AIGuard.message(role: :user) do |m|
m.text("What's in this image?")
m.image_url("https://example.com/img.png")
end

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeContentBuilder

Returns a new instance of ContentBuilder.



17
18
19
# File 'lib/datadog/ai_guard/evaluation/content_builder.rb', line 17

def initialize
  @parts = []
end

Instance Attribute Details

#partsObject (readonly)

Returns the value of attribute parts.



15
16
17
# File 'lib/datadog/ai_guard/evaluation/content_builder.rb', line 15

def parts
  @parts
end

Instance Method Details

#image_url(url) ⇒ Object



25
26
27
# File 'lib/datadog/ai_guard/evaluation/content_builder.rb', line 25

def image_url(url)
  @parts << ContentPart::ImageURL.new(url)
end

#text(text) ⇒ Object



21
22
23
# File 'lib/datadog/ai_guard/evaluation/content_builder.rb', line 21

def text(text)
  @parts << ContentPart::Text.new(text)
end