barrel_embed_jina (barrel_embed v2.3.0)

View Source

Jina AI embedding provider

Uses Jina AI's Embeddings API for embedding generation. Jina provides multilingual embeddings with 8K context length.

Requirements

A Jina AI API key, either: - Set via JINA_API_KEY environment variable - Passed in config as api_key => <<"...">>>

Configuration

   Config = #{
       api_key => <<"...">>,                           %% API key (or use env var)
       url => <<"https://api.jina.ai/v1">>,            %% API base URL (default)
       model => <<"jina-embeddings-v3">>,              %% Model name (default, 1024 dims)
       timeout => 30000,                               %% Timeout in ms (default)
       dimension => 1024                               %% Vector dimension (default)
   }.

Supported Models

- <<"jina-embeddings-v3">> - Default, 1024 dims, 8K context, multilingual - <<"jina-embeddings-v2-base-en">> - 768 dims, English - <<"jina-embeddings-v2-base-de">> - 768 dims, German - <<"jina-embeddings-v2-base-es">> - 768 dims, Spanish - <<"jina-embeddings-v2-base-zh">> - 768 dims, Chinese - <<"jina-colbert-v2">> - 128 dims per token, late interaction - <<"jina-clip-v1">> - 768 dims, multimodal (text + images)

Summary

Functions

Check if Jina AI API is available.

Get dimension for this provider.

Generate embedding for a single text.

Generate embeddings for multiple texts. Jina AI supports native batch embedding.

Initialize the provider.

Provider name.

Functions

available(Config)

-spec available(map()) -> boolean().

Check if Jina AI API is available.

dimension(Config)

-spec dimension(map()) -> pos_integer().

Get dimension for this provider.

embed(Text, Config)

-spec embed(binary(), map()) -> {ok, [float()]} | {error, term()}.

Generate embedding for a single text.

embed_batch(Texts, Config)

-spec embed_batch([binary()], map()) -> {ok, [[float()]]} | {error, term()}.

Generate embeddings for multiple texts. Jina AI supports native batch embedding.

init(Config)

-spec init(map()) -> {ok, map()} | {error, term()}.

Initialize the provider.

name()

-spec name() -> atom().

Provider name.