Sha256: 15ea32405301cbc85e68f234c6b5c28bbde8e7e6e7db928c2b89dcb01f8a8757
Contents?: true
Size: 1.14 KB
Versions: 1
Compression:
Stored size: 1.14 KB
Contents
# frozen_string_literal: true require "dry-struct" require "dry-validation" require "roseflow/pinecone/object" require "roseflow/pinecone/vectors/sparse_vector" require "roseflow/pinecone/vectors/common" module Types include Dry.Types() Number = Types::Coercible::Float # SparseVector = Roseflow::Pinecone::Vector::SparseVector end module Roseflow module Pinecone class Vector class VectorObject < PineconeObject include Roseflow::Pinecone::Vectors::Common transform_keys(&:to_sym) class VectorObjectContract < Dry::Validation::Contract params do required(:id).filled(:string) required(:values).filled(:array) optional(:sparse_values).filled optional(:metadata).filled(:hash) end end contract_object VectorObjectContract attribute :id, Dry::Types['string'] attribute :values, Dry::Types['array'].of(Types::Number) attribute? :score, Types::Number.optional attribute? :sparse_values, SparseVector.optional attribute? :metadata, Dry::Types['hash'].optional end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
roseflow-pinecone-0.1.0 | lib/roseflow/pinecone/vectors/vector_object.rb |