cpee-llm 1.0.1 → 1.0.2

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: c74dfc59f0ee935ca13bbab9135b7bbbe573e378388b1b42bf7d7319822e3452
4
- data.tar.gz: 3bebf8d541a090b0732954f70e7ee08a844c83fa6facbf58d686242b8e77e8e6
3
+ metadata.gz: 4e0d18f88f4bc0727522bc34d61c10df0e565d1eb07c741d5205cdf2028b1b8b
4
+ data.tar.gz: 00e8d8cd775a32eed1a95b0b10497c506af54cfc20c9eafd37a1f0b971af5c78
5
5
  SHA512:
6
- metadata.gz: d6adbaf916b93cd4407ff97cf5fd7d2d72187e73c68c1fa57aece7235bc08cc88adb66227d9085fb91dfa19578af61a44736e06f9dfb43530b8dabce2c1839d8
7
- data.tar.gz: ed95025c3b393da1b88596a5eb0e30b05706a8aaeda9e0b0736092e8d0e7c4379d1b09f2503a7eb55c8a962e690a9c49c863ff1c3a5a891462e2027da8055193
6
+ metadata.gz: 7f687a3d87195bc7780ec21c21ad5b24dbbaf8b406c5268b41fe991a3bf47c4bcbf9298bb3cdf227d9e0be80aad852add68d868023ba03ff52f0db07d39207d1
7
+ data.tar.gz: 00d10455ce802848328d76d9f6312260d6ffba07639348218dc91ef9d1720af07673f32d55599201eb3d3701fc4bed75c9a63d813bff39ca568720c6d3d5f7cf
data/cpee-llm.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "cpee-llm"
3
- s.version = "1.0.1"
3
+ s.version = "1.0.2"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0-or-later"
6
6
  s.summary = "CPEE Conversational Agents"
@@ -26,4 +26,5 @@ Gem::Specification.new do |s|
26
26
  s.add_runtime_dependency 'typhoeus', '~> 1.4'
27
27
  s.add_runtime_dependency 'ruby_llm', '~> 1.15'
28
28
  s.add_runtime_dependency 'rag_embeddings', '~> 0'
29
+ s.add_runtime_dependency 'cpee-transformation', '~> 1.0'
29
30
  end
@@ -165,8 +165,6 @@ module CPEE
165
165
  end
166
166
  end
167
167
 
168
- pp json_e
169
- pp cpee_model
170
168
  # ==============================conditions (only alternative)=======================
171
169
  json_e['gateway_conditions'].each do |i, value|
172
170
  if i.end_with?("s")
@@ -16,6 +16,9 @@
16
16
 
17
17
  require_relative 'rubyllm_requests'
18
18
  require 'json'
19
+ require 'cpee/transformation/transformer'
20
+ require 'cpee/transformation/cpee'
21
+ require 'cpee/transformation/mermaid'
19
22
 
20
23
  module CPEE
21
24
 
@@ -25,34 +28,22 @@ module CPEE
25
28
 
26
29
  include RubyLLM_Requests
27
30
 
28
- def cpee_to_mermaid(cpee) #{{{
29
- srv = Riddl::Client.new('http://localhost:9295/mermaid/cpee')
30
- status, res = srv.post [
31
- Riddl::Parameter::Complex.new("description","text/xml",cpee),
32
- Riddl::Parameter::Simple.new("type","description")
33
- ]
34
- if status >= 200 && status < 300
35
- res
36
- else
37
- raise 'error when converting cpee to mermaid'
38
- end
39
- return res[0].value().read()
40
- end #}}}
41
-
42
- def mermaid_to_cpee(mermaid) #{{{
43
- srv = Riddl::Client.new('http://localhost:9295/cpee/mermaid')
44
- status, res = srv.post [
45
- Riddl::Parameter::Complex.new("description","text/plain",mermaid),
46
- Riddl::Parameter::Simple.new("type","description")
47
- ]
48
- if status >= 200 && status < 300
49
- res
50
- else
51
- raise 'error when converting mermaid to cpee'
52
- end
53
- return res[0].value().read()
54
- end #}}}
31
+ def cpee_to_mermaid(cpee) #{{{
32
+ model = CPEE::Transformation::Source::CPEE.new(cpee)
33
+ trans = CPEE::Transformation::Transformer.new(model)
34
+ traces = trans.build_traces
35
+ tree = trans.build_tree(false)
36
+ trans.generate_model(CPEE::Transformation::Target::Mermaid)
37
+ end #}}}
38
+ def mermaid_to_cpee(mermaid) #{{{
39
+ model = CPEE::Transformation::Source::Mermaid.new(mermaid)
40
+
41
+ trans = CPEE::Transformation::Transformer.new(model)
42
+ traces = trans.build_traces
55
43
 
44
+ tree = trans.build_tree(false)
45
+ trans.generate_model(CPEE::Transformation::Target::CPEE)
46
+ end #}}}
56
47
 
57
48
  def generate_model(myllm,user_input,temperature,llms) #{{{
58
49
  begin
@@ -178,10 +169,8 @@ module CPEE
178
169
  llm_response = inside.empty? ? llm_response : inside[0][1]
179
170
  #check if response is json:
180
171
  begin
181
- pp "here"
182
172
  hash = JSON.parse(llm_response)
183
173
  rescue JSON::ParserError => e
184
- pp "there"
185
174
  raise LLMError.new("Something went wrong and llm was not able to generate Json data flow: #{llm_response}", 500)
186
175
  end
187
176
  return llm_response
@@ -41,7 +41,6 @@ module CPEE
41
41
  temperature = @p.shift.value.read if @p[0]&.name == 'temperature'
42
42
 
43
43
  doc = XML::Smart.string(input_cpee)
44
- pp temperature
45
44
  begin
46
45
  output_cpee = if prompt_type == 'generate_noendpoints'
47
46
  llm_response = generate_model(myllm,user_input,temperature,llms)
@@ -64,7 +63,6 @@ module CPEE
64
63
 
65
64
  return(Riddl::Parameter::Complex.new("llm_out","application/json",{:user_input => user_input, :used_llm => myllm, :input_cpee => input_cpee, :input_intermediate => doc.root().empty?() ? "" : cpee_to_mermaid(doc.to_s()), :output_intermediate => llm_response, :output_cpee => output_cpee, :status => "Success"}.to_json()))
66
65
  rescue LLMError => e
67
- pp 'here in error'
68
66
  @status = e&.http_response || 400
69
67
  return Riddl::Parameter::Complex.new("llm_out","application/json",{ :error => "#{prompt_type} #{e.message}"}.to_json())
70
68
  end
@@ -166,7 +164,6 @@ module CPEE
166
164
  begin
167
165
  dataflow = generate_dataflow(myllm,mermaid_model,api_speck,llms)
168
166
  rescue LLMError => e
169
- pp e.http_response
170
167
  @status = e.http_response || 400
171
168
  return Riddl::Parameter::Complex.new("llm_out","application/json",{:error => e.message}.to_json())
172
169
  end
@@ -92,8 +92,6 @@ module CPEE
92
92
  def generate_mermaid_model(llm, user_input, temperature, llms={}) #{{{
93
93
  max_tokens = 4000
94
94
  temperature = temperature.nil? ? 0.1 : temperature.to_f
95
- pp "here"
96
- pp temperature
97
95
  system_prompt = File.read(File.join(__dir__,"prompts/generate1.txt"))
98
96
  user_prompt = "Consider following process description: #{user_input}. Generate a BPMN model in Mermaid.js format."
99
97
  new_mermaid = generate_content(llm,system_prompt,user_prompt,max_tokens,temperature,llms)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cpee-llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nataliia Klievtsova
@@ -95,6 +95,20 @@ dependencies:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
97
  version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: cpee-transformation
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - "~>"
103
+ - !ruby/object:Gem::Version
104
+ version: '1.0'
105
+ type: :runtime
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - "~>"
110
+ - !ruby/object:Gem::Version
111
+ version: '1.0'
98
112
  description: see http://cpee.org
99
113
  email: n.klievtsova@gmail.com
100
114
  executables: