Class: OmniAI::Google::Embed

Inherits:
Embed
  • Object
show all
Defined in:
lib/omniai/google/embed.rb

Overview

An Google embed implementation.

Usage:

input = "..."
response = OmniAI::Google::Embed.process!(input, client: client)
response.embedding [0.0, ...]

Defined Under Namespace

Modules: Model

Constant Summary collapse

DEFAULT_MODEL =
Model::EMBEDDING
DEFAULT_EMBEDDINGS_DESERIALIZER =
proc do |data, *|
  data["embeddings"].map { |embedding| embedding["values"] }
end
VERTEX_EMBEDDINGS_DESERIALIZER =
proc do |data, *|
  data["predictions"].map { |prediction| prediction["embeddings"]["values"] }
end
VERTEX_USAGE_DESERIALIZER =
proc do |data, *|
  tokens = data["predictions"].map { |prediction| prediction["embeddings"]["statistics"]["token_count"] }.sum

  Usage.new(prompt_tokens: tokens, total_tokens: tokens)
end
DEFAULT_CONTEXT =

Returns:

  • (Context)
Context.build do |context|
  context.deserializers[:embeddings] = DEFAULT_EMBEDDINGS_DESERIALIZER
end
VERTEX_CONTEXT =

Returns:

  • (Context)
Context.build do |context|
  context.deserializers[:embeddings] = VERTEX_EMBEDDINGS_DESERIALIZER
  context.deserializers[:usage] = VERTEX_USAGE_DESERIALIZER
end