transformers-rb 0.1.6 → 0.2.0
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 +10 -0
- data/lib/transformers/models/distilbert/modeling_distilbert.rb +1 -1
- data/lib/transformers/pipelines/base.rb +15 -14
- data/lib/transformers/pipelines/question_answering.rb +1 -1
- data/lib/transformers/version.rb +1 -1
- data/lib/transformers.rb +2 -3
- metadata +7 -8
- data/lib/transformers/sentence_transformer.rb +0 -21
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 40fb96eeb1204ea7b669c60479ca5170d11ecd78a923a6939bb358112f6bca5c
|
|
4
|
+
data.tar.gz: b069363067e3c40371bbba3967d5cad86b6f0d6060cca15c757f806f8f152508
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 53bac82a7496acaf5da0e5d9636841d4ef3e32cb69177233375d88d989d00c147e1630e9844cdb0f3e7ed3e2fc26dea40c72b6115790ca89d873954ee417d759
|
|
7
|
+
data.tar.gz: d7cd31d7cdc821ff689c4c4136f4ee06247a0978b25d36d8aefe9da5cfd20301a33daceb98ee74a291bf8754859dc00d27080b9d2a33d83f1e69b22738334449
|
data/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 0.2.0 (2026-04-04)
|
|
2
|
+
|
|
3
|
+
- Switched to `numo-narray-alt`
|
|
4
|
+
- Removed `SentenceTransformer` class (use `pipeline` instead)
|
|
5
|
+
- Dropped support for Ruby < 3.3
|
|
6
|
+
|
|
7
|
+
## 0.1.7 (2026-01-07)
|
|
8
|
+
|
|
9
|
+
- Switched to `cgi/escape` for Ruby 4.0
|
|
10
|
+
|
|
1
11
|
## 0.1.6 (2024-12-29)
|
|
2
12
|
|
|
3
13
|
- Fixed error with failed HTTP requests
|
|
@@ -36,7 +36,7 @@ module Transformers
|
|
|
36
36
|
|
|
37
37
|
# Setting the position-ids to the registered buffer in constructor, it helps
|
|
38
38
|
# when tracing the model without passing position-ids, solves
|
|
39
|
-
#
|
|
39
|
+
# issues similar to issue #5664
|
|
40
40
|
if @position_ids
|
|
41
41
|
position_ids = @position_ids[0.., 0...seq_length]
|
|
42
42
|
else
|
|
@@ -115,23 +115,24 @@ module Transformers
|
|
|
115
115
|
@framework = framework
|
|
116
116
|
|
|
117
117
|
if device.nil?
|
|
118
|
-
|
|
119
|
-
Transformers.logger.warn(
|
|
120
|
-
"Hardware accelerator e.g. GPU is available in the environment, but no `device` argument" +
|
|
121
|
-
" is passed to the `Pipeline` object. Model will be on CPU."
|
|
122
|
-
)
|
|
123
|
-
end
|
|
118
|
+
device = 0
|
|
124
119
|
end
|
|
125
120
|
|
|
126
|
-
if
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
121
|
+
if device == -1 && !@model.device.nil?
|
|
122
|
+
device = @model.device
|
|
123
|
+
end
|
|
124
|
+
if device.is_a?(Torch::Device)
|
|
125
|
+
@device = device
|
|
126
|
+
elsif device.is_a?(String)
|
|
127
|
+
@device = Torch.device(device)
|
|
128
|
+
elsif device < 0
|
|
129
|
+
@device = Torch.device("cpu")
|
|
130
|
+
elsif Torch::CUDA.available?
|
|
131
|
+
@device = Torch.device("cuda:%d" % device)
|
|
132
|
+
elsif Torch::Backends::MPS.available?
|
|
133
|
+
@device = Torch.device("mps:%d" % device)
|
|
133
134
|
else
|
|
134
|
-
|
|
135
|
+
@device = Torch.device("cpu")
|
|
135
136
|
end
|
|
136
137
|
|
|
137
138
|
# TODO Fix eql? for Torch::Device in Torch.rb
|
|
@@ -166,7 +166,7 @@ module Transformers
|
|
|
166
166
|
end
|
|
167
167
|
|
|
168
168
|
def preprocess(example, padding: "do_not_pad", doc_stride: nil, max_question_len: 64, max_seq_len: nil)
|
|
169
|
-
# XXX: This is
|
|
169
|
+
# XXX: This is special, args_parser will not handle anything generator or dataset like
|
|
170
170
|
# For those we expect user to send a simple valid example either directly as a SquadExample or simple dict.
|
|
171
171
|
# So we still need a little sanitation here.
|
|
172
172
|
if example.is_a?(Hash)
|
data/lib/transformers/version.rb
CHANGED
data/lib/transformers.rb
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# dependencies
|
|
2
|
-
require "numo/narray"
|
|
2
|
+
require "numo/narray/alt"
|
|
3
3
|
require "safetensors"
|
|
4
4
|
require "tokenizers"
|
|
5
5
|
require "torch-rb"
|
|
6
6
|
|
|
7
7
|
# stdlib
|
|
8
|
-
require "cgi"
|
|
8
|
+
require "cgi/escape"
|
|
9
9
|
require "fileutils"
|
|
10
10
|
require "io/console"
|
|
11
11
|
require "json"
|
|
@@ -30,7 +30,6 @@ require_relative "transformers/image_processing_utils"
|
|
|
30
30
|
require_relative "transformers/image_transforms"
|
|
31
31
|
require_relative "transformers/modeling_outputs"
|
|
32
32
|
require_relative "transformers/modeling_utils"
|
|
33
|
-
require_relative "transformers/sentence_transformer"
|
|
34
33
|
require_relative "transformers/tokenization_utils_base"
|
|
35
34
|
require_relative "transformers/tokenization_utils"
|
|
36
35
|
require_relative "transformers/tokenization_utils_fast"
|
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: transformers-rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.2.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andrew Kane
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: logger
|
|
@@ -24,19 +24,19 @@ dependencies:
|
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
25
|
version: '0'
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
|
-
name: numo-narray
|
|
27
|
+
name: numo-narray-alt
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|
|
29
29
|
requirements:
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 0.
|
|
32
|
+
version: '0.10'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
35
|
version_requirements: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
37
|
- - ">="
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: 0.
|
|
39
|
+
version: '0.10'
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
41
|
name: safetensors
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -144,7 +144,6 @@ files:
|
|
|
144
144
|
- lib/transformers/pipelines/text_classification.rb
|
|
145
145
|
- lib/transformers/pipelines/token_classification.rb
|
|
146
146
|
- lib/transformers/ruby_utils.rb
|
|
147
|
-
- lib/transformers/sentence_transformer.rb
|
|
148
147
|
- lib/transformers/tokenization_utils.rb
|
|
149
148
|
- lib/transformers/tokenization_utils_base.rb
|
|
150
149
|
- lib/transformers/tokenization_utils_fast.rb
|
|
@@ -169,14 +168,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
169
168
|
requirements:
|
|
170
169
|
- - ">="
|
|
171
170
|
- !ruby/object:Gem::Version
|
|
172
|
-
version: '3.
|
|
171
|
+
version: '3.3'
|
|
173
172
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
174
173
|
requirements:
|
|
175
174
|
- - ">="
|
|
176
175
|
- !ruby/object:Gem::Version
|
|
177
176
|
version: '0'
|
|
178
177
|
requirements: []
|
|
179
|
-
rubygems_version:
|
|
178
|
+
rubygems_version: 4.0.6
|
|
180
179
|
specification_version: 4
|
|
181
180
|
summary: State-of-the-art transformers for Ruby
|
|
182
181
|
test_files: []
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
module Transformers
|
|
2
|
-
# TODO remove in 0.2.0
|
|
3
|
-
class SentenceTransformer
|
|
4
|
-
def initialize(model_id)
|
|
5
|
-
@model_id = model_id
|
|
6
|
-
@model = Transformers.pipeline("embedding", model_id)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
def encode(sentences)
|
|
10
|
-
# TODO check modules.json
|
|
11
|
-
if [
|
|
12
|
-
"sentence-transformers/all-MiniLM-L6-v2",
|
|
13
|
-
"sentence-transformers/multi-qa-MiniLM-L6-cos-v1"
|
|
14
|
-
].include?(@model_id)
|
|
15
|
-
@model.(sentences)
|
|
16
|
-
else
|
|
17
|
-
@model.(sentences, pooling: "cls", normalize: false)
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|