rainbow_llm 0.1.0 → 0.1.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: 0b7f668ffcf5f6b67b910f729dd10670908264762798119e3fb0d21b4e27995f
4
- data.tar.gz: d0f42404d0d702e8c720b1e5febc8b17fcf02e626d867acd600cbc4ad1fedff0
3
+ metadata.gz: 691cc8d3f8b1be4eee9736aa9f6ff83a33ea34a21690b7f3b6000584f516c954
4
+ data.tar.gz: 8c14c1d0b6fd037ca4bd92badad32afaa55543715a440794519e096d09446b86
5
5
  SHA512:
6
- metadata.gz: fcffac6222cdefa8255eb457913e802621fa262cac2d72ecac56d8e4031b18d71fb345d260911ddebe44b326d5f348ba00f6c33f4cae9df20b3dad662ff686d8
7
- data.tar.gz: dc7598c47b9cf858a4e41be22c5b268f8206206f8451f657fc0ef20db25b137e8d51a9fc3019aac44fc184a87ce05bfd40d55954c326cb1d4bb8604372be199b
6
+ metadata.gz: 4a35bae48e9d8ff273dbbb758206eb423c6897feae868b2e58384a65801aeb56d865977cfe4c1621c03953e317caf28ba8ceeb52a7e64f0a874fa444b869e111
7
+ data.tar.gz: 943fb9815ff94a90a06b635dd7f2763e73bb1806fcee4f97ce5b0111824ce7c73928233609e5ee54d090bac9fd2cbb368f9f34194215a54ec9f2c787e9c55c56
@@ -57,17 +57,15 @@ module RainbowLLM
57
57
  provider_type = RainbowLLM.configuration.providers.dig(provider.to_sym, :provider) || provider
58
58
  assume_model_exists = RainbowLLM.configuration.providers.dig(provider.to_sym, :assume_model_exists)
59
59
 
60
- base = {model:, provider: provider_type, assume_model_exists:, context:}.compact
61
-
62
- opts = {}
63
- opts[:temperature] = temperature if temperature
64
- opts[:schema] = schema if schema
60
+ opts = {model:, provider: provider_type, assume_model_exists:, context:}.compact
65
61
 
66
62
  result =
67
63
  begin
68
- chat = RubyLLM.chat(**base.merge(opts))
64
+ chat = RubyLLM.chat(**opts)
65
+ chat = chat.with_temperature(temperature) if temperature
66
+ chat = chat.with_schema(schema) if schema
69
67
  response = chat.ask(prompt)
70
- content = RainbowLLM.check_content(RainbowLLM.extract_content(response))
68
+ content = check_content(extract_content(response))
71
69
 
72
70
  if content
73
71
  details[model_string] = {status: :success}
@@ -95,16 +93,18 @@ module RainbowLLM
95
93
  # If we get here, all providers failed
96
94
  Response.new(content: nil, model: nil, details:)
97
95
  end
98
- end
99
96
 
100
- def self.extract_content(response)
101
- return nil if response.nil?
97
+ private
102
98
 
103
- response.content.strip
104
- end
99
+ def extract_content(response)
100
+ return nil if response.nil?
105
101
 
106
- def self.check_content(content)
107
- return nil if content.nil? || content.to_s.strip.empty?
108
- content
102
+ response.content.strip
103
+ end
104
+
105
+ def check_content(content)
106
+ return nil if content.nil? || content.to_s.strip.empty?
107
+ content
108
+ end
109
109
  end
110
110
  end
@@ -1 +1,3 @@
1
- Response = Data.define(:content, :model, :details)
1
+ module RainbowLLM
2
+ Response = Data.define(:content, :model, :details)
3
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module RainbowLLM
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rainbow_llm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - a-chris