Skip to content

Ollama embedding per llm: Model not found #102

@krzysztofjeziorny

Description

@krzysztofjeziorny

I tried the following:

WAGTAIL_VECTOR_INDEX = {
    "EMBEDDING_BACKENDS": {
        "default": {
            "CLASS": "wagtail_vector_index.ai_utils.backends.llm.LLMEmbeddingBackend",
            "CONFIG": {
                "MODEL_ID": "mxbai-embed-large",
                "EMBEDDING_OUTPUT_DIMENSIONS": 1024,
                "TOKEN_LIMIT": 512,
            },
        },
    },
}
WAGTAIL_VECTOR_INDEX_STORAGE_PROVIDERS = {
    "default": {
        "STORAGE_PROVIDER": "wagtail_vector_index.storage.pgvector.PgvectorStorageProvider",
    }
}

Ollama shows its models:

llm embed-models
(...)
Ollama: devstral:latest (aliases: devstral)
Ollama: mxbai-embed-large:latest (aliases: mxbai-embed-large)
python 3.13.4
pgvector = "^0.4.1"
wagtail-vector-index = {extras = ["llm", "pgvector"], version = "^0.10.0"}`

llm 0.26
llm-ollama 0.11

The output of update_vector_indexes says the name of the model (mxbai-embed-large) is not found. Similar error message comes when using llm-llamafile plugin.

Rebuilding vector indexes
Traceback (most recent call last):
  File "/path/to/.venv/lib/python3.13/site-packages/llm/__init__.py", line 245, in get_embedding_model
    return aliases[name]
           ~~~~~~~^^^^^^
KeyError: 'mxbai-embed-large'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/path/to/./manage.py", line 11, in <module>
    execute_from_command_line(sys.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/path/to/.venv/lib/python3.13/site-packages/django/core/management/__init__.py", line 442, in execute_from_command_line
    utility.execute()
    ~~~~~~~~~~~~~~~^^
  File "/path/to/.venv/lib/python3.13/site-packages/django/core/management/__init__.py", line 436, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^
  File "/path/to/.venv/lib/python3.13/site-packages/django/core/management/base.py", line 416, in run_from_argv
    self.execute(*args, **cmd_options)
    ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^
  File "/path/to/.venv/lib/python3.13/site-packages/django/core/management/base.py", line 460, in execute
    output = self.handle(*args, **options)
  File "/path/to/.venv/lib/python3.13/site-packages/wagtail_vector_index/management/commands/update_vector_indexes.py", line 42, in handle
    index.rebuild_index()
    ~~~~~~~~~~~~~~~~~~~^^
  File "/path/to/.venv/lib/python3.13/site-packages/wagtail_vector_index/storage/pgvector/provider.py", line 56, in rebuild_index
    self.upsert(documents=self.get_documents())
                          ~~~~~~~~~~~~~~~~~~^^
  File "/path/to/.venv/lib/python3.13/site-packages/wagtail_vector_index/storage/models.py", line 331, in get_documents
    all_documents += list(
                     ~~~~^
        self.get_converter().bulk_to_documents(
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
            instances, embedding_backend=self.get_embedding_backend()
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        )
        ^
    )
    ^
  File "/path/to/.venv/lib/python3.13/site-packages/wagtail_vector_index/storage/models.py", line 282, in bulk_to_documents
    yield from self.to_documents(object, embedding_backend=embedding_backend)
  File "/path/to/.venv/lib/python3.13/site-packages/wagtail_vector_index/storage/models.py", line 260, in to_documents
    for embedding in self.generate_embeddings(
                     ~~~~~~~~~~~~~~~~~~~~~~~~^
        object, embedding_backend=embedding_backend
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    ):
    ^
  File "/Users/kj/.local/share/mise/installs/python/3.13.4/lib/python3.13/contextlib.py", line 85, in inner
    return func(*args, **kwds)
  File "/path/to/.venv/lib/python3.13/site-packages/wagtail_vector_index/storage/models.py", line 247, in generate_embeddings
    for idx, returned_embedding in enumerate(embedding_vectors):
                                   ~~~~~~~~~^^^^^^^^^^^^^^^^^^^
  File "/path/to/.venv/lib/python3.13/site-packages/wagtail_vector_index/ai_utils/backends/llm.py", line 119, in embed
    model = self._get_llm_embedding_model()
  File "/path/to/.venv/lib/python3.13/site-packages/wagtail_vector_index/ai_utils/backends/llm.py", line 112, in _get_llm_embedding_model
    model = llm.get_embedding_model(self.config.model_id)
  File "/path/to/.venv/lib/python3.13/site-packages/llm/__init__.py", line 247, in get_embedding_model
    raise UnknownModelError("Unknown model: " + str(name))
llm.UnknownModelError: 'Unknown model: mxbai-embed-large'

Any hints or ideas appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions