ticuna 0.2.4 → 0.2.5
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/CHANGELOG.md +4 -0
- data/lib/ticuna/llm.rb +3 -7
- data/lib/ticuna/response.rb +9 -3
- data/lib/ticuna/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: ad184878c7d2fd8d8ee366a2de9996588b74ed1729bc21cc0b22fab7ffe7abb5
|
4
|
+
data.tar.gz: 4f4fae314169358a091dbb9dfafdc712807ec3f35b27634434d06b587d6080b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5a0f5ced928c16bcefd52df2a904fa07c895f724aa49eb4621b99b97247034da6a8b64167297bc480e322faf667b5e8c3864f0dc8a4d31099a535c721159464
|
7
|
+
data.tar.gz: e7d4fe0589f6d82554968f2a095048ac41c33f16c7ffb078e96d95024d3ddc52d13c6ab6dd218650ebbd1eec2d28e2f30d95c1820f63168ea6948ac68013f721
|
data/CHANGELOG.md
CHANGED
data/lib/ticuna/llm.rb
CHANGED
@@ -40,7 +40,7 @@ module Ticuna
|
|
40
40
|
[{ role: "user", content: message }]
|
41
41
|
end
|
42
42
|
|
43
|
-
model_string =
|
43
|
+
model_string = detect_llm_model(model)
|
44
44
|
|
45
45
|
Ticuna::Response.new(
|
46
46
|
@provider.ask_with_messages(messages, stream: stream, model: model_string, output_format: output_format, &block)
|
@@ -49,15 +49,11 @@ module Ticuna
|
|
49
49
|
|
50
50
|
private
|
51
51
|
|
52
|
-
def
|
52
|
+
def detect_llm_model(model)
|
53
53
|
return model if model.is_a?(String)
|
54
54
|
return Ticuna::Providers::MODELS[model] if Ticuna::Providers::MODELS.key?(model)
|
55
55
|
|
56
|
-
|
57
|
-
models.keys.map { |m| ":#{m} (#{provider})" }
|
58
|
-
end.join(", ")
|
59
|
-
|
60
|
-
raise "Model ':#{model}' not found. Available models: #{available_models}"
|
56
|
+
raise "\n\n\tLLM Model ':#{model}' not found.\n\tAvailable models: #{Ticuna::Providers::MODELS.keys.join(", ")}\n"
|
61
57
|
end
|
62
58
|
|
63
59
|
class << self
|
data/lib/ticuna/response.rb
CHANGED
@@ -4,10 +4,10 @@ require "json"
|
|
4
4
|
|
5
5
|
module Ticuna
|
6
6
|
class Response
|
7
|
-
attr_reader :data
|
7
|
+
attr_reader :data, :errors, :parsed
|
8
8
|
|
9
9
|
def initialize(raw)
|
10
|
-
parsed =
|
10
|
+
@parsed =
|
11
11
|
case raw
|
12
12
|
when String
|
13
13
|
begin
|
@@ -21,7 +21,8 @@ module Ticuna
|
|
21
21
|
raise ArgumentError, "Ticuna::Response only accepts Hash or String, received: #{raw.class}"
|
22
22
|
end
|
23
23
|
|
24
|
-
@data = deep_symbolize_keys(parsed)
|
24
|
+
@data = deep_symbolize_keys(@parsed)
|
25
|
+
@errors = deep_symbolize_keys(@parsed["error"] || [])
|
25
26
|
end
|
26
27
|
|
27
28
|
def [](key)
|
@@ -36,9 +37,14 @@ module Ticuna
|
|
36
37
|
@data.inspect
|
37
38
|
end
|
38
39
|
|
40
|
+
def errors?
|
41
|
+
!errors.empty?
|
42
|
+
end
|
43
|
+
|
39
44
|
def method_missing(name, *args, &block)
|
40
45
|
value = @data[name]
|
41
46
|
return wrap(value) if @data.key?(name)
|
47
|
+
|
42
48
|
super
|
43
49
|
end
|
44
50
|
|
data/lib/ticuna/version.rb
CHANGED