Language Models
A language model is a Deep Learning Neural Network trained on a huge amount of text data to perform different types of language tasks.
Commonly, they are also referred to as Large Language Models (LLM).
Language models come in many architectures, size and specializations.
The peculiarity of the Cheshire Cat is to be model-agnostic. This means it supports many different language models.
By default, there are two classes of language models that tackle two different tasks.
Completion Model
Section titled “Completion Model”This is the most known type of language models (see for examples ChatGPT, Cohere and many others). A completion model takes a string as input and generates a plausible answer by completion.
Embedding Model
Section titled “Embedding Model”This type of model takes a string as input and returns a vector as output. The model is known as an embedder, while the vector in output is called embedding.
Namely, this is a condensed representation of the input content.
The output vector, indeed, embeds the semantic information of the input text.
Despite being non-human readable, the embedding comes with the advantage of living in a Euclidean geometrical space. The embedding can be seen as a point in a multidimensional space, thus, geometrical operations can be applied to it. For instance, measuring the distance between two points can inform us about the similarity between two sentences.
flow :material-information-outline:{ title=“click on the nodes with hooks to see their documentation” }
Section titled “flow :material-information-outline:{ title=“click on the nodes with hooks to see their documentation” }”Nodes with the 🪝 point the execution places where there is an available hook to customize the execution pipeline.