Skip to main content

Modules

LICENSEย Weaviate on Stackoverflow badgeย Weaviate issues on GitHub badgeย Weaviate version badgeย Weaviate total Docker pulls badgeย Go Report Card

Introductionโ€‹

You can enable and configure Weaviate's modules by setting appropriate environment variables as shown below.

What about WCS?

Weaviate Cloud Services (WCS) instances come with modules pre-configured. See this page for details.

Enable modulesโ€‹

You can enable modules by specifying the list of modules in the ENABLE_MODULES variable. For example, the below will enable the text2vec-contextionary module.

services:
weaviate:
environment:
ENABLE_MODULES: 'text2vec-contextionary'

If multiple modules are to be used, each of them can be separate by a comma.

In the below example, the 'text2vec-huggingface, generative-cohere, and qna-openai modules will be enabled.

services:
weaviate:
environment:
ENABLE_MODULES: 'text2vec-huggingface,generative-cohere,qna-openai'

Module-specific variablesโ€‹

You may need to specify additional environment variables to configure each module where applicable. For example, the backup-s3 module requires the backup S3 bucket to be set via BACKUP_S3_BUCKET, and the text2vec-contextionary module requires the inference API location via TRANSFORMERS_INFERENCE_API.

Refer to the individual module documentation for more details.

Vectorizer modulesโ€‹

The vectorization modules enable Weaviate to vectorize data at import, and to perform near<Media> searches such as nearText.

Enable vectorizer modulesโ€‹

You can enable vectorizer modules by adding them to the ENABLE_MODULES environment variable. For example, the below will enable the text2vec-cohere, text2vec-huggingface and text2vec-openai vectorizer modules.

services:
weaviate:
environment:
ENABLE_MODULES: 'text2vec-cohere,text2vec-huggingface,text2vec-openai'

You can find a list of available vectorizer modules in this section.

Default vectorizer moduleโ€‹

You can specify a default vectorization module with the DEFAULT_VECTORIZER_MODULE variable as below.

If a default vectorizer module is not set, you must set a vectorizer in the schema before you can use near<Media> or vectorization at import time.

The below will set text2vec-huggingface as the default vectorizer. Thus, text2vec-huggingface module will be used unless another vectorizer is specified for that class.

services:
weaviate:
environment:
DEFAULT_VECTORIZER_MODULE: text2vec-huggingface
Multiple vectorization modules & Explore

Combining text vectorization modules will disable Explore{}.

Generative modulesโ€‹

The generative modules enable generative search functions.

You can see the list of available generative (generative-xxx) modules in this section

Enable a generative moduleโ€‹

You can enable generative modules by adding the desired module to the ENABLE_MODULES environment variable. For example, the below will enable the generative-cohere module along with text2vec-huggingface vectorizer.

services:
weaviate:
environment:
ENABLE_MODULES: 'text2vec-huggingface,generative-cohere'
generative module selection unrelated to text2vec module selection

Your choice of the text2vec module does not restrict your choice of generative module, or vice versa.

Custom modulesโ€‹

See here how you can create and use your own modules.

More Resourcesโ€‹

If you can't find the answer to your question here, please look at the:

  1. Frequently Asked Questions. Or,
  2. Knowledge base of old issues. Or,
  3. For questions: Stackoverflow. Or,
  4. For more involved discussion: Weaviate Community Forum. Or,
  5. We also have a Slack channel.