Running latest text2vec-palm module 1 on docker but getting error:
module ‘text2vec-palm’: projectId cannot be empty
But when I supply a projectID in the schema config it gives error on get:
explorer: get class: vectorize params: vectorize params: vectorize params: vectorize keywords: remote client vectorize: connection to Google PaLM failed with status: 401 error: Request had invalid authentication credentials. Expected OAuth 2 access token, login cookie or other valid authentication credential. See https://developers.google.com/identity/sign-in/web/devconsole-project."]} (Weaviate::Error)
Why is projectId required when I am not on Google Cloud? Am I doing it wrong for local docker? Shouldn’t it work out-of-the-box with text2vec-palm
enabled?
Additional info. This docker-compose.yml works fine with openai module, but not palm:
version: '3.4'
services:
weaviate:
image: semitechnologies/weaviate:latest
ports:
- 8080:8080
restart: on-failure:0
environment:
QUERY_DEFAULTS_LIMIT: 25
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: 'true'
PERSISTENCE_DATA_PATH: '/var/lib/weaviate'
DEFAULT_VECTORIZER_MODULE: 'none'
CLUSTER_HOSTNAME: 'node1'
ENABLE_MODULES: 'text2vec-openai,text2vec-palm'
Hi @mattlindsey - I think the way Docker images work, the semitechnologies/weaviate:latest
tag isn’t always the latest unfortunately. Please try semitechnologies/weaviate:1.19.11
On the text2vec-palm
issues - modules like text2vec-palm
or text2vec-openai
use PaLM or OpenAI API endpoints to generate vectors from your data.
I believe the PaLM models are currently only available through GCP Vertex AI, rather than through a public API endpoint like OpenAI. So you need the parameters to connect to GCP Vertex AI like the projectId
and so on.
The error looks like the Google Cloud authentication credentials are failing. How are you providing your GCP token at the moment?
You can follow the example here (text2vec-palm | Weaviate - vector database), if you have not seen it before. The way GCP is set up, also keep in mind that they require an OAuth 2 key which expires hourly and must be rotated too. (text2vec-palm | Weaviate - vector database)
Thanks @jphwang. We decided to stick with using nearVector for now and generating the vectors ourselves – since we can do everything we need that way. And to avoid additional requirements of the expiring token and using GCP Vertex AI. The docs should maybe be a little clearer on those requirements.