We are thrilled to announce two brand new Weaviate modules that will help you to get the most out Google's new PaLM large language model (LLM).
These new modules are:
text2vec-palmfor generating vector embeddings and running semantic (
nearText) queries, and
generative-palmfor generative search.
These modules are available to all Weaviate users as of today, with the release of Weaviate version
v1.19.1. They integrate the new Vertex PaLM API with Weaviate, allowing you to hit the ground running straight away with the latest in LLM and vector database technologies.
What is PaLM?
The Pathways Language Model (or
PaLM) is Google’s own LLM. According to Google, PaLM was designed to generalize across domains and tasks while being highly efficient.
You can read more about in this blog or this paper, but some of the highlights from these articles are that PaLM:
- Contains 540-billion 🤯 parameters,
- Is a dense decoder-only Transformer model, and
- Was trained using a combination of English and multilingual datasets.
Don't take our word for it - take a look at these demo snippets from Google's blog.
Edit: We now have more details on the PaLM 2 family of models, which the API is based on! Read about it here. In the blog, Google especially highlights improvements in multilingual, reasoning and coding capabilities.
What can the Vertex PaLM API do?
Being an LLM, PaLM can perform numerous tasks, from question-answering, sentence-completion, reading comprehension tasks, common-sense reasoning tasks and more.
Additionally, it can perform multi-lingual NLP tasks reflecting its dataset. What's more, you can use Google's Vertex AI PaLM API to test, customize, and deploy instances of Google's LLMs.
In other words, you can not only use PaLM off-the-shelf, but also customize the foundation model to suit your needs.
And we are excited to tell you about the 'text2vec-palm` and 'generative-palm' modules. These modules will help you to bring the power of the newest LLM on the block to the, ahem,
PaLM of your hand - or at least, to your Weaviate instance.
text2vec-palm module can use a PaLM model to convert text to vector embeddings that represent their meaning.
So, you can use the
text2vec-palm module to build a Weaviate database using PaLM-derived vectors for text objects, and perform lightning-fast searches.
The PaLM model used,
textembedding-gecko-001, takes a maximum of 3,072 input tokens, and outputs 768-dimensional vector embeddings.
Please note that according to Google, the embedding endpoint does not support fine-tuning.
Generative search with
generative-palm module is another exciting development for Weaviate and Google Cloud / Vertex AI users.
Our generative search modules work in two stages. First, a search is performed in Weaviate, and then a generative model such as PaLM is called to action, whereby the results are sent to prompt the LLM (PaLM in this case).
In other words - Weaviate can not only find the right data object for you, it can find it, and send it to PaLM to answer questions about it, expand upon it, summarize it, or otherwise transform it as you see fit.
And remember that the Vertex PaLM API allows further fine-tuning of your PaLM model? It means you can do all this with an LLM that has been tuned to your use case, such as your task, or domain.
The base PaLM model for generative search is
text-bison-001, which has the following properties:
- Max input token: 8,192
- Max output tokens: 1,024
- Training data: Up to Feb 2023
Want to try it out?
You can read more about how to use these modules in our documentation! See the pages for:
Check out Getting Started with Weaviate, and begin building amazing apps with Weaviate.
You can reach out to us on Slack or Twitter, or join the community forum.
Weaviate is open source, and you can follow the project on GitHub. Don’t forget to give us a ⭐️ while you are there!