lara-sdk 1.2.1 → 1.2.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 +4 -4
- data/lib/lara/models/text.rb +33 -4
- data/lib/lara/translator.rb +7 -4
- data/lib/lara/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 3a959c719f2393f4626f029c7116d426f1402889baeaea48a16800fbb58cd229
|
|
4
|
+
data.tar.gz: 54b9f604df73458c8abebb16ecce4389dcf4486f255d53187e3ad8dd7d2145c4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 0d29539cdb0b1fe5add2b2f3200b812666d1edd1c0ebac1d77604f9c696f1f791cac76a791a0fedf7d75d6c263086090b57116705c477f1d9455ae27bb2e4c67
|
|
7
|
+
data.tar.gz: 29de437c146d524cca9b29a198ebbdb3426e8bf258a073d72e9740efedcd84edb83d01156870f3a461b1d62fcb144cb52b27c178bb51a8d7b7b521593d60ecff
|
data/lib/lara/models/text.rb
CHANGED
|
@@ -52,9 +52,9 @@ module Lara
|
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
class ProfanityDetectResult < Base
|
|
55
|
-
attr_reader :masked_text, :profanities
|
|
55
|
+
attr_reader :masked_text, :profanities, :error
|
|
56
56
|
|
|
57
|
-
def initialize(masked_text:, profanities: [])
|
|
57
|
+
def initialize(masked_text:, profanities: [], error: nil)
|
|
58
58
|
super()
|
|
59
59
|
@masked_text = masked_text
|
|
60
60
|
@profanities = profanities.map do |p|
|
|
@@ -65,6 +65,22 @@ module Lara
|
|
|
65
65
|
score: p["score"] || p[:score]
|
|
66
66
|
)
|
|
67
67
|
end
|
|
68
|
+
@error = error
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# Wraps profanity detection results for both target and (optionally) source text.
|
|
73
|
+
# Returned in TextResult#profanities when profanities_detect is set.
|
|
74
|
+
class ProfanitiesResult < Base
|
|
75
|
+
# @return [ProfanityDetectResult, Array<ProfanityDetectResult, nil>, nil]
|
|
76
|
+
attr_reader :target
|
|
77
|
+
# @return [ProfanityDetectResult, Array<ProfanityDetectResult, nil>, nil]
|
|
78
|
+
attr_reader :source
|
|
79
|
+
|
|
80
|
+
def initialize(target: nil, source: nil)
|
|
81
|
+
super()
|
|
82
|
+
@target = target
|
|
83
|
+
@source = source
|
|
68
84
|
end
|
|
69
85
|
end
|
|
70
86
|
|
|
@@ -215,11 +231,23 @@ module Lara
|
|
|
215
231
|
|
|
216
232
|
def convert_profanities(value)
|
|
217
233
|
return nil if value.nil?
|
|
234
|
+
return nil unless value.is_a?(Hash)
|
|
235
|
+
return nil unless value.key?("target") || value.key?("source")
|
|
236
|
+
|
|
237
|
+
ProfanitiesResult.new(
|
|
238
|
+
target: parse_profanity_value(value["target"]),
|
|
239
|
+
source: parse_profanity_value(value["source"])
|
|
240
|
+
)
|
|
241
|
+
end
|
|
242
|
+
|
|
243
|
+
def parse_profanity_value(value)
|
|
244
|
+
return nil if value.nil?
|
|
218
245
|
|
|
219
246
|
if value.is_a?(Hash)
|
|
220
247
|
ProfanityDetectResult.new(
|
|
221
248
|
masked_text: value["masked_text"],
|
|
222
|
-
profanities: value["profanities"] || []
|
|
249
|
+
profanities: value["profanities"] || [],
|
|
250
|
+
error: value["error"]
|
|
223
251
|
)
|
|
224
252
|
elsif value.is_a?(Array)
|
|
225
253
|
value.map do |v|
|
|
@@ -227,7 +255,8 @@ module Lara
|
|
|
227
255
|
|
|
228
256
|
ProfanityDetectResult.new(
|
|
229
257
|
masked_text: v["masked_text"],
|
|
230
|
-
profanities: v["profanities"] || []
|
|
258
|
+
profanities: v["profanities"] || [],
|
|
259
|
+
error: v["error"]
|
|
231
260
|
)
|
|
232
261
|
end
|
|
233
262
|
end
|
data/lib/lara/translator.rb
CHANGED
|
@@ -56,14 +56,15 @@ module Lara
|
|
|
56
56
|
# @param reasoning [Boolean] When true with a block, yields partial results during reasoning
|
|
57
57
|
# @param headers [Hash,nil]
|
|
58
58
|
# @param metadata [String, Hash, nil]
|
|
59
|
-
# @param
|
|
59
|
+
# @param profanities_detect [String,nil] One of "target", "source_target"
|
|
60
|
+
# @param profanities_handling [String,nil] One of "detect", "avoid", "hide" (default: "hide" when profanities_detect is set)
|
|
60
61
|
# @yield [Lara::Models::TextResult] Partial translation result (only when reasoning is true)
|
|
61
62
|
# @return [Lara::Models::TextResult] Final translation result
|
|
62
63
|
def translate(text, target:, source: nil, source_hint: nil, adapt_to: nil, glossaries: nil,
|
|
63
64
|
instructions: nil, content_type: nil, multiline: true, timeout_ms: nil,
|
|
64
65
|
priority: nil, use_cache: nil, cache_ttl_s: nil, no_trace: false, verbose: false,
|
|
65
66
|
style: nil, reasoning: false, headers: nil, metadata: nil,
|
|
66
|
-
|
|
67
|
+
profanities_detect: nil, profanities_handling: nil,
|
|
67
68
|
styleguide_id: nil, styleguide_reasoning: nil,
|
|
68
69
|
styleguide_explanation_language: nil, &callback)
|
|
69
70
|
q = normalize_text_input(text)
|
|
@@ -92,7 +93,8 @@ module Lara
|
|
|
92
93
|
style: style,
|
|
93
94
|
reasoning: reasoning,
|
|
94
95
|
metadata: metadata,
|
|
95
|
-
|
|
96
|
+
profanities_detect: profanities_detect,
|
|
97
|
+
profanities_handling: profanities_handling,
|
|
96
98
|
styleguide_id: styleguide_id,
|
|
97
99
|
styleguide_reasoning: styleguide_reasoning,
|
|
98
100
|
styleguide_explanation_language: styleguide_explanation_language
|
|
@@ -145,7 +147,8 @@ module Lara
|
|
|
145
147
|
result = @client.post("/v2/detect/profanities", body: body)
|
|
146
148
|
Lara::Models::ProfanityDetectResult.new(
|
|
147
149
|
masked_text: result["masked_text"],
|
|
148
|
-
profanities: result["profanities"] || []
|
|
150
|
+
profanities: result["profanities"] || [],
|
|
151
|
+
error: result["error"]
|
|
149
152
|
)
|
|
150
153
|
end
|
|
151
154
|
|
data/lib/lara/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lara-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.2.
|
|
4
|
+
version: 1.2.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Translated
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-04-
|
|
11
|
+
date: 2026-04-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: faraday
|