":::note This is a legacy class, using LCEL as shown above is preffered.\n",
":::note\n",
"\n",
"This is a legacy class, using LCEL as shown above is preferred.\n",
"\n",
":::\n",
"\n",
"An `LLMChain` is a simple chain that adds some functionality around language models. It is used widely throughout LangChain, including in other chains and agents.\n",
":::note This is a legacy class, using LCEL as shown above is preffered.\n",
":::note\n",
"\n",
"This is a legacy class, using LCEL as shown above is preferred.\n",
"\n",
":::\n",
"\n",
"Sequential chains allow you to connect multiple chains and compose them into pipelines that execute some specific scenario. There are two types of sequential chains:\n",
"Head to [Integrations](/docs/integrations/retrievers/self_query) for documentation on vector stores with built-in support for self-querying.\n",
"\n",
":::\n",
"\n",
"A self-querying retriever is one that, as the name suggests, has the ability to query itself. Specifically, given any natural language query, the retriever uses a query-constructing LLM chain to write a structured query and then applies that structured query to its underlying VectorStore. This allows the retriever to not only use the user-input query for semantic similarity comparison with the contents of stored documents but to also extract filters from the user query on the metadata of stored documents and to execute those filters.\n",