WeaviateEx.API.Vectorizers.Multi2VecVoyageAI (WeaviateEx v0.7.4)

View Source

Multi2Vec-VoyageAI vectorizer configuration.

Uses VoyageAI's multimodal embedding models for image and text.

Example

Multi2VecVoyageAI.new(
  model: "voyage-multimodal-3",
  image_fields: [%{name: "image", weight: 0.5}],
  text_fields: [%{name: "description", weight: 0.5}]
)

Summary

Functions

Parse configuration from API response.

Create a new Multi2Vec-VoyageAI configuration.

Convert configuration to API format.

Returns the vectorizer name for the API.

Types

field_config()

@type field_config() :: %{:name => String.t(), optional(:weight) => float()}

t()

@type t() :: %WeaviateEx.API.Vectorizers.Multi2VecVoyageAI{
  base_url: String.t() | nil,
  image_fields: [field_config()] | nil,
  model: String.t() | nil,
  text_fields: [field_config()] | nil,
  truncate: boolean() | nil,
  vectorize_collection_name: boolean()
}

Functions

from_api(map)

@spec from_api(map()) :: t()

Parse configuration from API response.

new(opts \\ [])

@spec new(keyword()) :: t()

Create a new Multi2Vec-VoyageAI configuration.

Options

  • :model - VoyageAI model name (e.g., "voyage-multimodal-3")
  • :base_url - Custom API endpoint
  • :truncate - Whether to truncate long inputs
  • :image_fields - List of image field configs with name and optional weight
  • :text_fields - List of text field configs with name and optional weight
  • :vectorize_collection_name - Include collection name (default: true)

Field Config

Fields can be specified as:

  • Simple strings: ["image", "caption"]
  • Maps with weights: [%{name: "image", weight: 0.7}]

to_api(config)

@spec to_api(t()) :: map()

Convert configuration to API format.

vectorizer_name()

@spec vectorizer_name() :: String.t()

Returns the vectorizer name for the API.