Google PaLM projectId required on local docker with text2vec-palm enabled?

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.