How the Cat works
news

Components
The Cheshire Cat is made of many pluggable components that make it fully customizable.
š¬ Chat
ā
This is the Graphical User Interface (GUI) component that allows you to interact directly with the Cat. From the GUI, you can also set the language model you want the Cat to run.
š³ļø Rabbit Hole
This component handles the ingestion of documents.Files that are sent down theĀ Rabbit HoleĀ are split into chunks and saved in the CatāsĀ declarative memoryĀ to be further retrieved in the conversation.
š£ļø Large Language Model (LLM)
This is one of the core components of the Cheshire Cat framework. A LLM is a Deep Learning model thatās been trained on a huge volume of text data and can perform many types of language tasks. The model takes a text string as input (e.g. the userās prompt) and provides a meaningful answer. The answer consistency and adequacy is enriched with the context of previous conversations and documents uploaded in the Catās memory.
š Embedder
The embedder is another Deep Learning model similar to the LLM. Differently, it doesnāt perform language tasks. The model takes a text string as input and encodes it in a numerical representation. This operation allows to represent textual data as vectors and perform geometrical operation on them. For instance, given an input, the embedder is used to retrieve similar sentences from the Catās memory.
š§ Vector Memory
As a result of theĀ EmbedderĀ encoding, we get a set of vectors that are used to store the Catās memory in a vector database. Memories store not only the vector representation of the input, but also the time instant and personalized metadata to facilitate and enhance the information retrieval. The Cat embeds two types of vector memories, namely theĀ episodicĀ andĀ declarativeĀ memories. The formers are the things the human said in the past; the latter the documents sent down theĀ Rabbit hole.
š¤ Agent
This is another core component of the Cheshire Cat framework.The agent orchestrates the calls that are made to the LLM. This component allows the Cat to decide which action to take according to the input the user provides. Possible actions range from holding the conversation to executing complex tasks, chaining predefined or customĀ tools.
š§© Plugins
These are functions to extend the Catās capabilities.Ā PluginsĀ are a set of tools andĀ hooksĀ that allow the Agent to achieve complex goals. This component let the Cat assists you with tailored needs.
Main loop
