Model integration messages
Messages on this page are deprecation warnings from the Weaviate Python client, raised when a collection asks for a model integration under a name that has been renamed or retired. The provider is still supported; only the name it is configured under has changed. If your message is not here, the message index lists the other groups.
Google integrations renamed from PaLM
Section titled “Google integrations renamed from PaLM”| Ids | py-dep011, py-dep012, py-dep013 |
| Raised by | Python client |
| Severity | deprecation |
| Impact | The collection works, but it is configured under the retired PaLM name. The removal date in the message has passed, so treat the old names as removable at any time. |
| Fix | Configure the Google integration for the service you use, Vertex AI or the Gemini API, and send that service's credential header. |
What you see
Section titled “What you see”One of these warnings when you configure a collection. It prints as soon as the configuration object is built, before any request reaches Weaviate, usually together with a generic deprecation notice naming the same replacement:
Dep011: text2vec-palm is deprecated and will be removed in Q2 25. Use text2vec-google instead.
Dep012: multi2vec-palm is deprecated and will be removed in Q2 25. Use multi2vec-google instead.
Dep013: generative.palm is deprecated and will be removed in Q2 25. Use generative.google instead.Why it happens
Section titled “Why it happens”Google retired the PaLM name and reorganized these models under Vertex AI and the Gemini API. Weaviate followed in two steps: first renaming the integrations from palm to google, then splitting the Google embedding and generative integrations by service, because Vertex AI and the Gemini API authenticate differently and expose different models. The message was written after the first step, which is why its advice is out of date rather than wrong.
How to fix it
Section titled “How to fix it”Pick the Google service you actually use, then configure every integration for it. Vertex AI needs the Google Cloud project that owns the model (and, for multimodal, the region); the Gemini API needs neither, and asking for the wrong one means being asked for a project id you do not have.
from weaviate.classes.config import Configure
# Each call creates its own collection: pick the ones you need.
# Text embeddings (was text2vec_palm)
client.collections.create(
"Article",
vector_config=Configure.Vectors.text2vec_google_vertex(project_id="my-project"),
)
# Multimodal embeddings (was multi2vec_palm)
client.collections.create(
"Article",
vector_config=Configure.Vectors.multi2vec_google(
project_id="my-project",
location="us-central1",
text_fields=["title"],
),
)
# Generative search (was generative.palm)
client.collections.create(
"Article",
generative_config=Configure.Generative.google_vertex(project_id="my-project"),
)Send the credential header for Vertex AI, X-Goog-Vertex-Api-Key. It replaces X-Google-Vertex-Api-Key, X-Google-Api-Key, and X-Palm-Api-Key.
from weaviate.classes.config import Configure
# Each call creates its own collection: pick the ones you need.
# Text embeddings (was text2vec_palm)
client.collections.create(
"Article",
vector_config=Configure.Vectors.text2vec_google_gemini(),
)
# Multimodal embeddings (was multi2vec_palm)
client.collections.create(
"Article",
vector_config=Configure.Vectors.multi2vec_google_gemini(
text_fields=["title"],
),
)
# Generative search (was generative.palm)
client.collections.create(
"Article",
generative_config=Configure.Generative.google_gemini(),
)Send the credential header for the Gemini API, X-Goog-Studio-Api-Key. It replaces X-Google-Studio-Api-Key, X-Google-Api-Key, and X-Palm-Api-Key.
Three things to know when you make the change:
- The collection reports the old name back. Weaviate stores these integrations under their original module names, so a collection configured this way still reads back as
text2vec-palm,multi2vec-palm, orgenerative-palm. That is the storage name, not the name you configure, and it does not need fixing. - The current forms also use
vector_config. That is a separate deprecation, covered in deprecated vector configuration arguments; both land in the same edit because the current builders only exist in the new shape. - Existing collections are unaffected. The integration is recorded when the collection is created. Change the name in the code that creates new collections; rewriting an existing collection means re-embedding its objects, which is only worth doing if you also want to change the model.
Learn more
Section titled “Learn more”Google embeddings
Google multimodal embeddings
Google generative models
API credentials and headers
All Google integrations
Questions and feedback
Section titled “Questions and feedback”Have a question or feedback? Here's how to reach us.