Class: OmniAI::Google::Embed
- Inherits:
-
Embed
- Object
- Embed
- OmniAI::Google::Embed
- Defined in:
- lib/omniai/google/embed.rb
Overview
A 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
- BATCH_EMBED_CONTENTS_DESERIALIZER =
proc do |data, *| data["embeddings"].map { || ["values"] } end
- PREDICT_EMBEDDINGS_DESERIALIZER =
proc do |data, *| data["predictions"].map { |prediction| prediction["embeddings"]["values"] } end
- PREDICT_USAGE_DESERIALIZER =
proc do |data, *| tokens = data["predictions"].sum { |prediction| prediction["embeddings"]["statistics"]["token_count"] } Usage.new(prompt_tokens: tokens, total_tokens: tokens) end
- EMBED_CONTENT_DESERIALIZER =
proc do |data, *| [data["embedding"]["values"]] end
- USAGE_METADATA_DESERIALIZER =
proc do |data, *| prompt_tokens = data.dig("usageMetadata", "promptTokenCount") total_tokens = data.dig("usageMetadata", "totalTokenCount") Usage.new(prompt_tokens:, total_tokens:) end
- BATCH_EMBED_CONTENTS_CONTEXT =
Context.build do |context| context.deserializers[:embeddings] = BATCH_EMBED_CONTENTS_DESERIALIZER context.deserializers[:usage] = USAGE_METADATA_DESERIALIZER end
- PREDICT_CONTEXT =
Context.build do |context| context.deserializers[:embeddings] = PREDICT_EMBEDDINGS_DESERIALIZER context.deserializers[:usage] = PREDICT_USAGE_DESERIALIZER end
- EMBED_CONTENT_CONTEXT =
Context.build do |context| context.deserializers[:embeddings] = EMBED_CONTENT_DESERIALIZER context.deserializers[:usage] = USAGE_METADATA_DESERIALIZER end