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 +4 -4
- data/lib/ruby_llm/active_record/acts_as.rb +17 -6
- data/lib/ruby_llm/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85ade36a78c5038ed31c362682ee1e81cba3b952e278ce092c93d3695740e2a1
|
4
|
+
data.tar.gz: 572e88e7f493f9d125873c9a3ba07d014302c480246d3b7b0b326e1d44924f30
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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,
|
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
|
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)
|
data/lib/ruby_llm/version.rb
CHANGED