ruby_llm 0.1.0.pre15 → 0.1.0.pre16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ca489465046f71efd3a80717b46a68cdcbc754527f4b5ccade15442d2a95854e
4
- data.tar.gz: b1091dd99c8b96266b767b1be69ade14a88cffc0c3f2cd07c1bf20d9efebe6e2
3
+ metadata.gz: 85ade36a78c5038ed31c362682ee1e81cba3b952e278ce092c93d3695740e2a1
4
+ data.tar.gz: 572e88e7f493f9d125873c9a3ba07d014302c480246d3b7b0b326e1d44924f30
5
5
  SHA512:
6
- metadata.gz: 8bd968d14ec94fb254ae21a3d253cbe8b952145d3626540bf92cc5ded13d660e8f45b651319d3591f6a6e6b137c02cb94540c2a00680c25c2d7d3ecf4d799bbf
7
- data.tar.gz: d1a5e1ef82b95f5ebe59b27440d703e88d4332f47cb706da8c4f09487608d6de572e78a38756af938a0e0ed0dbf8dc0f4a45aa82ac1d32f444681c3172baf40a
6
+ metadata.gz: 370a6e32a748d7119a3af729e0a43cdb9f4b80d60e09d959e425a28b0c4ecad8ca9e3a1f3aec6ba279039e40b2129c49e56641e041622f3268c72624d17ebc9d
7
+ data.tar.gz: 2295e3a850d514eb60964d3bdc47ee9682ba8b630010661efe8374ca468a81edb10617a10484a70ba47df2db8547856246c470160e8d87c157bdaccae2c8b5c6
@@ -9,7 +9,7 @@ module RubyLLM
9
9
  extend ActiveSupport::Concern
10
10
 
11
11
  class_methods do
12
- def acts_as_chat(message_class: 'Message')
12
+ def acts_as_chat(message_class: 'Message') # rubocop:disable Metrics/MethodLength
13
13
  include ChatMethods
14
14
 
15
15
  has_many :messages,
@@ -17,13 +17,23 @@ module RubyLLM
17
17
  class_name: message_class.to_s,
18
18
  dependent: :destroy
19
19
 
20
- delegate :complete, to: :chat
20
+ delegate :complete,
21
+ :with_tool,
22
+ :with_tools,
23
+ :with_model,
24
+ :with_temperature,
25
+ :on_new_message,
26
+ :on_end_message,
27
+ :add_message,
28
+ to: :to_llm
21
29
  end
22
30
 
23
31
  def acts_as_message(chat_class: 'Chat')
24
32
  include MessageMethods
25
33
 
26
34
  belongs_to :chat, class_name: chat_class.to_s
35
+
36
+ delegate :tool_call?, :tool_result?, :tool_results, to: :to_llm
27
37
  end
28
38
  end
29
39
  end
@@ -33,7 +43,7 @@ module RubyLLM
33
43
  module ChatMethods
34
44
  extend ActiveSupport::Concern
35
45
 
36
- def chat
46
+ def to_llm
37
47
  chat = RubyLLM.chat(model: model_id)
38
48
 
39
49
  # Load existing messages into chat
@@ -44,8 +54,6 @@ module RubyLLM
44
54
  # Set up message persistence
45
55
  chat.on_new_message { persist_new_message }
46
56
  .on_end_message { |msg| persist_message_completion(msg) }
47
-
48
- chat
49
57
  end
50
58
 
51
59
  def ask(message, &block)
@@ -59,7 +67,10 @@ module RubyLLM
59
67
  private
60
68
 
61
69
  def persist_new_message
62
- messages.create!
70
+ messages.create!(
71
+ role: :assistant,
72
+ content: String.new
73
+ )
63
74
  end
64
75
 
65
76
  def persist_message_completion(message)
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RubyLLM
4
- VERSION = '0.1.0.pre15'
4
+ VERSION = '0.1.0.pre16'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby_llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.pre15
4
+ version: 0.1.0.pre16
5
5
  platform: ruby
6
6
  authors:
7
7
  - Carmine Paolino