turbopuffer 2.0.0.pre.alpha.1 → 2.0.0.pre.alpha.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/CHANGELOG.md +8 -0
- data/README.md +1 -1
- data/lib/turbopuffer/models/attribute_schema_config.rb +4 -4
- data/lib/turbopuffer/models/sparse_distance_metric.rb +15 -0
- data/lib/turbopuffer/models.rb +2 -0
- data/lib/turbopuffer/version.rb +1 -1
- data/lib/turbopuffer.rb +1 -0
- data/rbi/turbopuffer/models/attribute_schema_config.rbi +12 -4
- data/rbi/turbopuffer/models/sparse_distance_metric.rbi +25 -0
- data/rbi/turbopuffer/models.rbi +2 -0
- data/sig/turbopuffer/models/attribute_schema_config.rbs +9 -4
- data/sig/turbopuffer/models/sparse_distance_metric.rbs +13 -0
- data/sig/turbopuffer/models.rbs +2 -0
- metadata +5 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ec352d339fe92ac66fb6632df2bed51b81559d640f3b4a2140e1ded77218f282
|
|
4
|
+
data.tar.gz: ce362c309ffab91afb01bf3d057f66200b166cc8087bc7055d95f26492cfb941
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: '0854bb51b122e2db1f0df2c44e2625e6486c964489615e730b97dd6a541cdb1dff537c41b3e93b967fc5b04a501068cab9342e787a8d186051d0b5a91096588a'
|
|
7
|
+
data.tar.gz: 00514217b637eb9f7d8a6dab848489334267aa8ff5b1ae1c3956fb3e1779cab7c6da22db534e57eb349dee4d9f176e872eae52780a90a234b7342bb01b13e52b
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 2.0.0-alpha.2 (2026-04-29)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v2.0.0-alpha.1...v2.0.0-alpha.2](https://github.com/turbopuffer/turbopuffer-ruby/compare/v2.0.0-alpha.1...v2.0.0-alpha.2)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* Spec: Add sparse_distance_metric to the list of models. ([81f2998](https://github.com/turbopuffer/turbopuffer-ruby/commit/81f29982fb72e5f90923a35975841633b40aacc5))
|
|
10
|
+
|
|
3
11
|
## 2.0.0-alpha.1 (2026-04-29)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v1.19.0...v2.0.0-alpha.1](https://github.com/turbopuffer/turbopuffer-ruby/compare/v1.19.0...v2.0.0-alpha.1)
|
data/README.md
CHANGED
|
@@ -26,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
|
|
|
26
26
|
<!-- x-release-please-start-version -->
|
|
27
27
|
|
|
28
28
|
```ruby
|
|
29
|
-
gem "turbopuffer", "~> 2.0.0.pre.alpha.
|
|
29
|
+
gem "turbopuffer", "~> 2.0.0.pre.alpha.2"
|
|
30
30
|
```
|
|
31
31
|
|
|
32
32
|
<!-- x-release-please-end -->
|
|
@@ -113,14 +113,14 @@ module Turbopuffer
|
|
|
113
113
|
# @!attribute distance_metric
|
|
114
114
|
# A function used to calculate sparse vector similarity.
|
|
115
115
|
#
|
|
116
|
-
# @return [Symbol,
|
|
117
|
-
required :distance_metric,
|
|
116
|
+
# @return [Symbol, Turbopuffer::Models::SparseDistanceMetric]
|
|
117
|
+
required :distance_metric, enum: -> { Turbopuffer::SparseDistanceMetric }
|
|
118
118
|
|
|
119
|
-
# @!method initialize(distance_metric:
|
|
119
|
+
# @!method initialize(distance_metric:)
|
|
120
120
|
# Whether to create a sparse kNN index for the attribute. Requires the `{}f16`
|
|
121
121
|
# type.
|
|
122
122
|
#
|
|
123
|
-
# @param distance_metric [Symbol,
|
|
123
|
+
# @param distance_metric [Symbol, Turbopuffer::Models::SparseDistanceMetric] A function used to calculate sparse vector similarity.
|
|
124
124
|
end
|
|
125
125
|
end
|
|
126
126
|
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Turbopuffer
|
|
4
|
+
module Models
|
|
5
|
+
# A function used to calculate sparse vector similarity.
|
|
6
|
+
module SparseDistanceMetric
|
|
7
|
+
extend Turbopuffer::Internal::Type::Enum
|
|
8
|
+
|
|
9
|
+
DOT_PRODUCT = :dot_product
|
|
10
|
+
|
|
11
|
+
# @!method self.values
|
|
12
|
+
# @return [Array<Symbol>]
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
data/lib/turbopuffer/models.rb
CHANGED
data/lib/turbopuffer/version.rb
CHANGED
data/lib/turbopuffer.rb
CHANGED
|
@@ -105,6 +105,7 @@ require_relative "turbopuffer/models/query_billing"
|
|
|
105
105
|
require_relative "turbopuffer/models/query_performance"
|
|
106
106
|
require_relative "turbopuffer/models/row"
|
|
107
107
|
require_relative "turbopuffer/models/saturate_params"
|
|
108
|
+
require_relative "turbopuffer/models/sparse_distance_metric"
|
|
108
109
|
require_relative "turbopuffer/models/tokenizer"
|
|
109
110
|
require_relative "turbopuffer/models/vector"
|
|
110
111
|
require_relative "turbopuffer/models/vector_encoding"
|
|
@@ -235,19 +235,27 @@ module Turbopuffer
|
|
|
235
235
|
end
|
|
236
236
|
|
|
237
237
|
# A function used to calculate sparse vector similarity.
|
|
238
|
-
sig { returns(
|
|
238
|
+
sig { returns(Turbopuffer::SparseDistanceMetric::OrSymbol) }
|
|
239
239
|
attr_accessor :distance_metric
|
|
240
240
|
|
|
241
241
|
# Whether to create a sparse kNN index for the attribute. Requires the `{}f16`
|
|
242
242
|
# type.
|
|
243
|
-
sig
|
|
243
|
+
sig do
|
|
244
|
+
params(
|
|
245
|
+
distance_metric: Turbopuffer::SparseDistanceMetric::OrSymbol
|
|
246
|
+
).returns(T.attached_class)
|
|
247
|
+
end
|
|
244
248
|
def self.new(
|
|
245
249
|
# A function used to calculate sparse vector similarity.
|
|
246
|
-
distance_metric:
|
|
250
|
+
distance_metric:
|
|
247
251
|
)
|
|
248
252
|
end
|
|
249
253
|
|
|
250
|
-
sig
|
|
254
|
+
sig do
|
|
255
|
+
override.returns(
|
|
256
|
+
{ distance_metric: Turbopuffer::SparseDistanceMetric::OrSymbol }
|
|
257
|
+
)
|
|
258
|
+
end
|
|
251
259
|
def to_hash
|
|
252
260
|
end
|
|
253
261
|
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module Turbopuffer
|
|
4
|
+
module Models
|
|
5
|
+
# A function used to calculate sparse vector similarity.
|
|
6
|
+
module SparseDistanceMetric
|
|
7
|
+
extend Turbopuffer::Internal::Type::Enum
|
|
8
|
+
|
|
9
|
+
TaggedSymbol =
|
|
10
|
+
T.type_alias { T.all(Symbol, Turbopuffer::SparseDistanceMetric) }
|
|
11
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
12
|
+
|
|
13
|
+
DOT_PRODUCT =
|
|
14
|
+
T.let(:dot_product, Turbopuffer::SparseDistanceMetric::TaggedSymbol)
|
|
15
|
+
|
|
16
|
+
sig do
|
|
17
|
+
override.returns(
|
|
18
|
+
T::Array[Turbopuffer::SparseDistanceMetric::TaggedSymbol]
|
|
19
|
+
)
|
|
20
|
+
end
|
|
21
|
+
def self.values
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
data/rbi/turbopuffer/models.rbi
CHANGED
|
@@ -98,14 +98,19 @@ module Turbopuffer
|
|
|
98
98
|
def self?.variants: -> ::Array[Turbopuffer::Models::AttributeSchemaConfig::ann]
|
|
99
99
|
end
|
|
100
100
|
|
|
101
|
-
type sparse_knn =
|
|
101
|
+
type sparse_knn =
|
|
102
|
+
{ distance_metric: Turbopuffer::Models::sparse_distance_metric }
|
|
102
103
|
|
|
103
104
|
class SparseKnn < Turbopuffer::Internal::Type::BaseModel
|
|
104
|
-
attr_accessor distance_metric:
|
|
105
|
+
attr_accessor distance_metric: Turbopuffer::Models::sparse_distance_metric
|
|
105
106
|
|
|
106
|
-
def initialize: (
|
|
107
|
+
def initialize: (
|
|
108
|
+
distance_metric: Turbopuffer::Models::sparse_distance_metric
|
|
109
|
+
) -> void
|
|
107
110
|
|
|
108
|
-
def to_hash: -> {
|
|
111
|
+
def to_hash: -> {
|
|
112
|
+
distance_metric: Turbopuffer::Models::sparse_distance_metric
|
|
113
|
+
}
|
|
109
114
|
end
|
|
110
115
|
end
|
|
111
116
|
end
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
module Turbopuffer
|
|
2
|
+
module Models
|
|
3
|
+
type sparse_distance_metric = :dot_product
|
|
4
|
+
|
|
5
|
+
module SparseDistanceMetric
|
|
6
|
+
extend Turbopuffer::Internal::Type::Enum
|
|
7
|
+
|
|
8
|
+
DOT_PRODUCT: :dot_product
|
|
9
|
+
|
|
10
|
+
def self?.values: -> ::Array[Turbopuffer::Models::sparse_distance_metric]
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
end
|
data/sig/turbopuffer/models.rbs
CHANGED
|
@@ -81,6 +81,8 @@ module Turbopuffer
|
|
|
81
81
|
|
|
82
82
|
class SaturateParams = Turbopuffer::Models::SaturateParams
|
|
83
83
|
|
|
84
|
+
module SparseDistanceMetric = Turbopuffer::Models::SparseDistanceMetric
|
|
85
|
+
|
|
84
86
|
module Tokenizer = Turbopuffer::Models::Tokenizer
|
|
85
87
|
|
|
86
88
|
module Vector = Turbopuffer::Models::Vector
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: turbopuffer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.0.pre.alpha.
|
|
4
|
+
version: 2.0.0.pre.alpha.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Turbopuffer
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-04-
|
|
11
|
+
date: 2026-04-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|
|
@@ -122,6 +122,7 @@ files:
|
|
|
122
122
|
- lib/turbopuffer/models/query_performance.rb
|
|
123
123
|
- lib/turbopuffer/models/row.rb
|
|
124
124
|
- lib/turbopuffer/models/saturate_params.rb
|
|
125
|
+
- lib/turbopuffer/models/sparse_distance_metric.rb
|
|
125
126
|
- lib/turbopuffer/models/tokenizer.rb
|
|
126
127
|
- lib/turbopuffer/models/vector.rb
|
|
127
128
|
- lib/turbopuffer/models/vector_encoding.rb
|
|
@@ -204,6 +205,7 @@ files:
|
|
|
204
205
|
- rbi/turbopuffer/models/query_performance.rbi
|
|
205
206
|
- rbi/turbopuffer/models/row.rbi
|
|
206
207
|
- rbi/turbopuffer/models/saturate_params.rbi
|
|
208
|
+
- rbi/turbopuffer/models/sparse_distance_metric.rbi
|
|
207
209
|
- rbi/turbopuffer/models/tokenizer.rbi
|
|
208
210
|
- rbi/turbopuffer/models/vector.rbi
|
|
209
211
|
- rbi/turbopuffer/models/vector_encoding.rbi
|
|
@@ -285,6 +287,7 @@ files:
|
|
|
285
287
|
- sig/turbopuffer/models/query_performance.rbs
|
|
286
288
|
- sig/turbopuffer/models/row.rbs
|
|
287
289
|
- sig/turbopuffer/models/saturate_params.rbs
|
|
290
|
+
- sig/turbopuffer/models/sparse_distance_metric.rbs
|
|
288
291
|
- sig/turbopuffer/models/tokenizer.rbs
|
|
289
292
|
- sig/turbopuffer/models/vector.rbs
|
|
290
293
|
- sig/turbopuffer/models/vector_encoding.rbs
|