Module: Jekyll::ClientSearch::EmbeddingConfiguration

Included in:
Configuration
Defined in:
lib/jekyll/client_search/embedding_configuration.rb

Overview

Provides build-time embedding settings and model-specific prefixes.

Constant Summary collapse

PREFIXES =
{
  "embeddinggemma" => {
    "document" => "title: none | text: ",
    "query" => "task: search result | query: "
  },
  "nomic-embed-text" => {
    "document" => "search_document: ",
    "query" => "search_query: "
  }
}.freeze

Instance Method Summary collapse

Instance Method Details

#embedding_base_urlObject



26
27
28
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 26

def embedding_base_url
  @values.fetch("embedding").fetch("base_url").to_s
end

#embedding_connect_timeoutObject



30
31
32
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 30

def embedding_connect_timeout
  positive_timeout("connect_timeout")
end

#embedding_document_prefixObject



47
48
49
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 47

def embedding_document_prefix
  configured_prefix("document_prefix", "document")
end

#embedding_enabled?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 18

def embedding_enabled?
  @values.fetch("embedding").fetch("enabled") == true
end

#embedding_fail_on_error?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 38

def embedding_fail_on_error?
  @values.fetch("embedding").fetch("fail_on_error") != false
end

#embedding_identityObject



55
56
57
58
59
60
61
62
63
64
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 55

def embedding_identity
  {
    "provider" => "ollama",
    "model" => embedding_model,
    "base_url" => embedding_base_url,
    "document_prefix" => embedding_document_prefix,
    "query_prefix" => embedding_query_prefix,
    "schema" => 2
  }
end

#embedding_include_in_index?Boolean

Returns:

  • (Boolean)


42
43
44
45
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 42

def embedding_include_in_index?
  configured = @values.fetch("embedding")["include_in_index"]
  configured.nil? ? engine == "semantic" : configured == true
end

#embedding_modelObject



22
23
24
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 22

def embedding_model
  @values.fetch("embedding").fetch("model").to_s
end

#embedding_query_prefixObject



51
52
53
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 51

def embedding_query_prefix
  configured_prefix("query_prefix", "query")
end

#embedding_read_timeoutObject



34
35
36
# File 'lib/jekyll/client_search/embedding_configuration.rb', line 34

def embedding_read_timeout
  positive_timeout("read_timeout")
end