dify_llm 1.8.0 → 1.8.1

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: 80cc1d17f6a70b28e6f8cfe72ceb5ac79398e5b569f2519a0ba9fe34cba3ae30
4
- data.tar.gz: 429561f0d6191e55248ef5610eb42a52dc70acfb97bea116ee70ae53a0919c5f
3
+ metadata.gz: 43597420591517c392f1551e766fbdddee57f7d28162d792ef3cb3ab52ebfd81
4
+ data.tar.gz: b8884ccdbff56ff584ac737848f43ae9dd73c4a59ca3f8b20373d3197a77e847
5
5
  SHA512:
6
- metadata.gz: f4477d96e5572468bb8128105d97eac680e661da7182d7638e789cf8a6908a48ac9719e884995f39eb40093edc10986afee5137f238129a80d5726bcd0881f8f
7
- data.tar.gz: ea459447ae6000b3f044da995516c9aeed5683c2c8801ab633601d8c530470d5b35f8076b4592525dc501b36d8a867224be2fcb47cbedbbb3d6ba6bd4dc3b863
6
+ metadata.gz: 8c587e998fce443c8fa6940144702061bff43d45f54aea0e2d4435d5181aa698ec2fcae0f9d1fac04639fdf3a06df151f3230ae441024abe37b35f0744cdbe96
7
+ data.tar.gz: 3403bdf1b3dc9317cd0a21d2ea6dd0063b798bb8a7567dc6cdc8ba9f9a49589d691f6441d887039ea55adbfa649140954d9f9d4558f717c5979aea0f9bb71fde
data/lib/dify_llm.rb ADDED
@@ -0,0 +1,3 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'ruby_llm'
@@ -56,6 +56,7 @@ module RubyLLM
56
56
  # Message views
57
57
  template 'views/messages/_message.html.erb',
58
58
  "app/views/#{message_table_name}/_#{message_model_name.underscore}.html.erb"
59
+ template 'views/messages/_content.html.erb', "app/views/#{message_table_name}/_content.html.erb"
59
60
  template 'views/messages/_form.html.erb', "app/views/#{message_table_name}/_form.html.erb"
60
61
  template 'views/messages/create.turbo_stream.erb',
61
62
  "app/views/#{message_table_name}/create.turbo_stream.erb"
@@ -99,12 +100,23 @@ module RubyLLM
99
100
  chat_var = chat_model_name.underscore
100
101
  broadcasting_code = "broadcasts_to ->(#{msg_var}) { \"#{chat_var}_\#{#{msg_var}.#{chat_var}_id}\" }"
101
102
 
102
- inject_into_class "app/models/#{msg_var}.rb", message_model_name do
103
- "\n #{broadcasting_code}\n"
103
+ broadcast_append_chunk_method = <<-RUBY
104
+
105
+ def broadcast_append_chunk(content)
106
+ broadcast_append_to "#{chat_var}_\#{#{chat_var}_id}",
107
+ target: "#{msg_var}_\#{id}_content",
108
+ partial: "#{message_table_name}/content",
109
+ locals: { content: content }
110
+ end
111
+ RUBY
112
+
113
+ inject_into_file "app/models/#{msg_var}.rb", before: "end\n" do
114
+ " #{broadcasting_code}\n#{broadcast_append_chunk_method}"
104
115
  end
105
116
  rescue Errno::ENOENT
106
117
  say "#{message_model_name} model not found. Add broadcasting code to your model.", :yellow
107
118
  say " #{broadcasting_code}", :yellow
119
+ say broadcast_append_chunk_method, :yellow
108
120
  end
109
121
 
110
122
  def display_post_install_message
@@ -5,7 +5,7 @@ class <%= chat_model_name %>ResponseJob < ApplicationJob
5
5
  <%= chat_model_name.underscore %>.ask(content) do |chunk|
6
6
  if chunk.content && !chunk.content.blank?
7
7
  <%= message_model_name.underscore %> = <%= chat_model_name.underscore %>.<%= message_model_name.tableize %>.last
8
- <%= message_model_name.underscore %>.update!(content: <%= message_model_name.underscore %>.content + chunk.content)
8
+ <%= message_model_name.underscore %>.broadcast_append_chunk(chunk.content)
9
9
  end
10
10
  end
11
11
  end
@@ -3,7 +3,7 @@
3
3
  <div style="font-weight: bold; margin-bottom: 5px;">
4
4
  <%%= <%= message_model_name.underscore %>.role&.capitalize %>
5
5
  </div>
6
- <div style="white-space: pre-wrap;"><%%= <%= message_model_name.underscore %>.content %></div>
6
+ <div id="<%%= dom_id(<%= message_model_name.underscore %>) %>_content" style="white-space: pre-wrap;"><%%= <%= message_model_name.underscore %>.content %></div>
7
7
  <div style="font-size: 0.85em; color: #666; margin-top: 5px;">
8
8
  <%%= <%= message_model_name.underscore %>.created_at&.strftime("%I:%M %p") %>
9
9
  </div>