# Reference - Modules

This section describes Weaviate's individual modules, including their capabilities and how to use them.

:::callout{intent="tip" title="Looking for vectorizer, generative AI, or reranker integration docs?"}
They have moved to our [model provider integrations](../model-provider-integrations/index.md) section, for a more focused, user-centric look at these integrations.
:::

## General

Weaviate's modules are built into the codebase, and [enabled through environment variables](../how-to-configure-weaviate/modules.md) to provide additional functionalities.

### Module types

Weaviate modules can be divided into the following categories:

- [Vectorizers](#vectorizer-reranker-and-generative-ai-integrations): Convert data into vector embeddings for import and vector search.
- [Rerankers](#vectorizer-reranker-and-generative-ai-integrations): Improve search results by reordering initial search results.
- [Generative AI](#vectorizer-reranker-and-generative-ai-integrations): Integrate generative AI models for retrieval augmented generation (RAG).
- [Backup](#backup-modules): Facilitate backup and restore operations in Weaviate.
- [Offloading](#offloading-modules): Facilitate offloading of tenant data to external storage.
- [Others](#other-modules): Modules that provide additional functionalities.

#### Vectorizer, reranker, and generative AI integrations

For these modules, see the [model provider integrations](../model-provider-integrations/index.md) documentation. These pages are organized by the model provider (e.g. Hugging Face, OpenAI) and then the model type (e.g. vectorizer, reranker, generative AI).

For example:

- [The OpenAI embedding integration page](../model-provider-integrations/openai-embeddings.md) shows how to use OpenAI's embedding models in Weaviate.

![Embedding integration illustration](/assets/docs/weaviate/model-providers/_includes/integration_openai_embedding.png)

- [The Cohere reranker integration page](../model-provider-integrations/cohere-reranker.md) shows how to use Cohere's reranker models in Weaviate.

![Reranker integration illustration](/assets/docs/weaviate/model-providers/_includes/integration_cohere_reranker.png)

- [The Anthropic generative AI integration page](../model-provider-integrations/anthropic-generative.md) shows how to use Anthropic's generative AI models in Weaviate.

![Generative integration illustration](/assets/docs/weaviate/model-providers/_includes/integration_anthropic_rag.png)

### Module characteristics

- Naming convention:
  - Vectorizer (Retriever module): `<media>2vec-<name>-<optional>`, for example `text2vec-contextionary`, `img2vec-neural` or `text2vec-transformers`.
  - Other modules: `<functionality>-<name>-<optional>`, for example `qna-transformers`.
  - A module name must be url-safe, meaning it must not contain any characters which would require url-encoding.
  - A module name is not case-sensitive. `text2vec-bert` would be the same module as `text2vec-BERT`.
- Module information is accessible through the `v1/modules/<module-name>/<module-specific-endpoint>` RESTful endpoint.
- General module information (which modules are attached, version, etc.) is accessible through Weaviate's [`v1/meta` endpoint](../monitoring-and-logging/status.md#cluster-metadata).
- Modules can add `additional` properties in the RESTful API and [`_additional` properties in the GraphQL API](../apis/graphql-additional-properties.md).
- A module can add [filters](../apis/graphql-filters.md) in GraphQL queries.
- Which vectorizer and other modules are applied to which data collection is configured in the [schema](../how-to-manage-collections/vector-config.md#specify-a-vectorizer).

## Backup Modules

Backup and restore operations in Weaviate are facilitated by the use of backup provider modules.

These are interchangeable storage backends which exist either internally or externally.

### External provider

External backup providers coordinate the storage and retrieval of backed-up Weaviate data with external storage services.

This type of provider is ideal for production environments. This is because storing the backup data outside of a Weaviate instance decouples the availability of the backup from the Weaviate instance itself. In the event of an unreachable node, the backup is still available.

Additionally, multi-node Weaviate clusters _require_ the use of an external provider. Storing a multi-node backup on internally on a single node presents several issues, like significantly reducing the durability and availability of the backup, and is not supported.

The supported external backup providers are:

- [S3](../storage-and-backups/backups.md#s3-aws-or-s3-compatible)
- [GCS](../storage-and-backups/backups.md#gcs-google-cloud-storage)
- [Azure](../storage-and-backups/backups.md#azure-storage)

Thanks to the extensibility of the module system, new providers can be readily added. If you are interested in an external provider other than the ones listed above, feel free to reach out via our [forum](https://forum.weaviate.io/), or open an issue on [GitHub](https://github.com/weaviate/weaviate).

### Internal provider

Internal providers coordinate the storage and retrieval of backed-up Weaviate data within a Weaviate instance. This type of provider is intended for developmental or experimental use, and is not recommended for production. Internal Providers are not compatible for multi-node backups, which require the use of an external provider.

As of Weaviate `v1.16`, the only supported internal backup provider is the [filesystem](../storage-and-backups/backups.md#filesystem) provider.

## Offloading Modules

Offloading modules facilitate the offloading of tenant data to external storage. This is useful for managing resources and costs.

See [how to configure: offloading](../storage-and-backups/tenant-offloading.md) for more information on how to configure and use offloading modules.

## Other modules

In addition to the above, there are other modules such as:

- [qna-transformers](qna-transformers.md): Question-answering (answer extraction) capability using transformers models.
- [qna-openai](qna-openai.md): Question-answering (answer extraction) capability using OpenAI models.
- [ner-transformers](ner-transformers.md): Named entity recognition capability using transformers models.
- [text-spellcheck](spellcheck.md): Spell checking capability for GraphQL queries.
- [sum-transformers](sum-transformers.md): Summarize text using transformer models.
- [usage-modules](usage-modules.md): Collect and upload usage analytics to GCS or S3 for the purposes of billing.
- [custom-modules](custom-modules.md): Attach your own machine learning model to Weaviate as a module.

### Other vectorizer modules

The following vectorizer modules are not covered by the [model provider integration](../model-provider-integrations/index.md) pages:

- [text2vec-contextionary](text2vec-contextionary.md) (deprecated): Vectorize text locally with the lightweight Contextionary model.
- [img2vec-neural](../weaviate/modules-img2vec-neural.md): Vectorize images locally with a `resnet50` model.
- [ref2vec-centroid](ref2vec-centroid.md): Calculate an object's vector from the centroid of its referenced objects' vectors.

## Related pages

- [Configuration: Modules](../how-to-configure-weaviate/modules.md)
- [Concepts: Modules](../concepts/modules.md)

## Other third party integrations

Weaviate integrates with third party systems that provide a wide range of tools and services. For information on particular systems, see [Integrations](https://weaviate.io/product/integrations)

## Questions and feedback

Have a question or feedback? Here's how to reach us.

::::card-grid
:::card{title="Community Forum" href="https://forum.weaviate.io/c/support" icon="messages-square"}
Ask questions and connect with other developers on our **Community forum**.
:::

:::card{title="Support" href="/guides/support-overview" icon="life-buoy"}
Weaviate Cloud user or customer? Find the right channel on the **Support page**.
:::
::::

## Related pages

- [Agents](./agents-index.md)
- [AI-assisted Weaviate code generation](./ai-assisted-vibe-coding-index.md)
- [APIs](./apis-index.md)
- [Authorization and authentication](./authorization-and-authentication-index.md)
- [Benchmarks](./benchmarks-index.md)
- [Best practices](./best-practices-index.md)
- [Client libraries](./clients-index.md)
- [Client Libraries / SDKs](./client-libraries-index.md)
- [Cloud](./cloud-index.md)
- [Cloud account management](./cloud-account-management-index.md)

# Agent Instructions

This portal answers questions programmatically. To receive a synthesized,
source-cited answer instead of crawling page by page, append the `?ask=`
query parameter to any page URL on this site:

    /guides/quickstart?ask=how+do+I+authenticate

Optional parameters:

- `&goal=<what-you-are-trying-to-do>` steers the answer toward your
  objective (e.g. `&goal=write+a+python+client`).
- `&version=<label>` scopes the answer to a mounted version when the
  portal publishes more than one.

The response is `text/markdown`: the answer followed by a `# Sources` list
of the portal pages it was grounded in. Status codes are the contract:

- `200` — the answer; `402` — the portal owner’s plan or answer credits are
  exhausted (surface this to your operator; do NOT retry); `429` — you are
  rate-limited; back off for the `Retry-After` seconds; `503` — the answer
  lane is temporarily unavailable; fall back to crawling the `.md` pages.

For the full corpus map read `llms.txt` at the site root; for the tool
surface (search + page fetch as MCP tools) see `/mcp`.
