Class: DSPy::LM::MessageBuilder
- Inherits:
-
Object
- Object
- DSPy::LM::MessageBuilder
- Extended by:
- T::Sig
- Defined in:
- lib/dspy/lm/message_builder.rb
Instance Attribute Summary collapse
-
#messages ⇒ Object
readonly
Returns the value of attribute messages.
Instance Method Summary collapse
- #assistant(content) ⇒ Object
-
#initialize ⇒ MessageBuilder
constructor
A new instance of MessageBuilder.
- #system(content) ⇒ Object
- #to_h ⇒ Object
- #user(content) ⇒ Object
- #user_with_image(text, image) ⇒ Object
- #user_with_images(text, images) ⇒ Object
Constructor Details
#initialize ⇒ MessageBuilder
Returns a new instance of MessageBuilder.
13 14 15 |
# File 'lib/dspy/lm/message_builder.rb', line 13 def initialize @messages = [] end |
Instance Attribute Details
#messages ⇒ Object (readonly)
Returns the value of attribute messages.
11 12 13 |
# File 'lib/dspy/lm/message_builder.rb', line 11 def @messages end |
Instance Method Details
#assistant(content) ⇒ Object
36 37 38 39 40 41 42 |
# File 'lib/dspy/lm/message_builder.rb', line 36 def assistant(content) @messages << Message.new( role: Message::Role::Assistant, content: content.to_s ) self end |
#system(content) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/dspy/lm/message_builder.rb', line 18 def system(content) @messages << Message.new( role: Message::Role::System, content: content.to_s ) self end |
#to_h ⇒ Object
74 75 76 |
# File 'lib/dspy/lm/message_builder.rb', line 74 def to_h @messages.map(&:to_h) end |
#user(content) ⇒ Object
27 28 29 30 31 32 33 |
# File 'lib/dspy/lm/message_builder.rb', line 27 def user(content) @messages << Message.new( role: Message::Role::User, content: content.to_s ) self end |
#user_with_image(text, image) ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/dspy/lm/message_builder.rb', line 45 def user_with_image(text, image) content_array = [ { type: 'text', text: text }, { type: 'image', image: image } ] @messages << Message.new( role: Message::Role::User, content: content_array ) self end |
#user_with_images(text, images) ⇒ Object
59 60 61 62 63 64 65 66 67 68 69 70 |
# File 'lib/dspy/lm/message_builder.rb', line 59 def user_with_images(text, images) content_array = [{ type: 'text', text: text }] images.each do |image| content_array << { type: 'image', image: image } end @messages << Message.new( role: Message::Role::User, content: content_array ) self end |