Skip to main content
Go to documentation:
⌘U
Weaviate Database

Develop AI applications using Weaviate's APIs and tools

Deploy

Deploy, configure, and maintain Weaviate Database

Query Agent

Run agentic search over your Weaviate Cloud collections

Weaviate Cloud

Manage and scale Weaviate in the cloud

Engram

Persistent memory for LLM agents and applications

Additional resources

Integrations
Weaviate Academy

Need help?

Weaviate LogoAsk AI Assistant⌘K
Support
Community Forum
Contributor guide

Model provider integrations

Weaviate integrates with a variety of self-hosted and API-based models from a range of providers.

This enables an enhanced developed experience, such as the ability to:

  • Import objects directly into Weaviate without having to manually specify embeddings, and
  • Build an integrated retrieval augmented generation (RAG) pipeline with generative AI models.

Model provider integrations​

API-based​

Model providerEmbeddingsGenerative AIOthers
Anthropic-Text-
Anyscale-Text-
AWSTextText-
CohereText, MultimodalTextReranker
Contextual AI-TextReranker
DatabricksTextText-
DeepSeek-Text-
DigitalOceanTextText-
FriendliAI-Text-
GoogleText, MultimodalText-
Hugging FaceText--
Jina AIText, Multimodal-Reranker
MistralTextText-
MorphText--
NVIDIAText, MultimodalTextReranker
OpenAITextText-
Azure OpenAITextText-
TwelveLabsMultimodal--
Voyage AIText, Multimodal-Reranker
WeaviateText, Multimodal--
xAI-Text-

Enable all API-based modules​

All API-based model integrations are available by default starting with Weaviate v1.33.

To opt out, for example in an air-gapped or otherwise restricted deployment, set the API_BASED_MODULES_DISABLED environment variable to true. Weaviate then loads only the modules that you list in ENABLE_MODULES. This variable was added in v1.33.

For releases before v1.33, enable all API-based modules by setting the ENABLE_API_BASED_MODULES environment variable to true. Weaviate stopped reading that variable in v1.33.

Locally hosted​

Model providerEmbeddingsGenerative AIOthers
GPT4All (Deprecated)Text (Deprecated)--
Hugging FaceText, Multimodal (CLIP)-Reranker
KubeAIText--
Model2vecText--
Meta ImageBindMultimodal--
OllamaTextText-
Weaviate Academy

Course: Embedding Model Evaluation & Selection

Embedding models are the heart of vector search. Learn how to evaluate and select appropriate embedding models for your use case.

Open Academy Course

How does Weaviate generate embeddings?​

When a model provider integration for embeddings is enabled, Weaviate automatically generates embeddings for objects that are added to the database.

This is done by providing the source data to the integration provider, which then returns the embeddings to Weaviate. The embeddings are then stored in the Weaviate Database.

Weaviate generates embeddings for objects as follows:

  • Selects properties with text or text[] data types unless they are configured to be skipped
  • Sorts properties in alphabetical (a-z) order before concatenating values
  • Prepends the collection name if configured
Case sensitivity

For Weaviate versions before v1.27, the string created above is lowercased before being sent to the model provider. Starting in v1.27, the string is sent as is.

If you prefer the text to be lowercased, you can do so by setting the LOWERCASE_VECTORIZATION_INPUT environment variable. The text is always lowercased for the text2vec-contextionary integration.

Rate limits for API-based embeddings​

Model providers throttle how fast you can call them, so a large import often ends in 429 errors. To keep Weaviate inside your quota, tell it what the quota is with two request headers:

  • X-<Provider>-Ratelimit-RequestPM-Embedding: the requests-per-minute limit
  • X-<Provider>-Ratelimit-TokenPM-Embedding: the tokens-per-minute limit

<Provider> is the same name as in the API key header on the integration's page. A collection vectorized by Cohere, for example, takes X-Cohere-Ratelimit-RequestPM-Embedding next to X-Cohere-Api-Key. Set the headers when you connect, so every batch request carries them.

The values must be whole numbers. Weaviate falls back to the integration's own default if a header is missing or cannot be parsed.

The headers are read by the Cohere, Databricks, DigitalOcean, Jina AI, Mistral, OpenAI, Azure OpenAI, Voyage AI, and Weaviate Embeddings integrations. Other integrations ignore them.

Troubleshooting: a missing or misconfigured API key​

Every API-based integration reports a missing key the same way. If the key is absent, the request fails with:

no api key found neither in request header: X-<Provider>-Api-Key nor in environment variable under <PROVIDER>_APIKEY

The API key is never part of the collection configuration, so supply it as a request header when you connect, or set the environment variable on the Weaviate server. A key in the header takes precedence over the environment variable.

Questions and feedback​