> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cube.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# LangChain

> LangChain is a framework designed to simplify the creation of applications using large language models.

[LangChain][langchain] is a framework designed to simplify the creation of
applications using large language models.

To get started with LangChain, follow the [instructions][langchain-docs-getting-started].

## Document loader

Cube's integration with LangChain comes as the [document loader][langchain-docs-cube]
that is intended to be used to populate a vector database with embeddings derived
from the data model. Later, this vector database can be queried to find best-matching
entities of the semantic layer. This is useful to match free-form input, e.g., queries
in a natural language, with the views and their members in the data model.

<Frame>
  <img src="https://ucarecdn.com/32e98c8b-a920-4620-a8d2-05d57618db8e/" />
</Frame>

We're also providing an chat-based demo application (see source code on GitHub) with example OpenAI prompts for constructing queries to Cube's SQL API. If you wish to create an AI-powered conversational interface for the semantic layer, these prompts can be a good starting point.

## Configuring the connection to Cube

The document loader connects to Cube using the [REST (JSON) API][ref-rest-api], and will need a
[JWT][ref-jwt] to authenticate.

If you're using Cube Cloud, you can retrieve these details from a deployment's
**Overview** page.

## Querying Cube

Please refer to the [blog post](https://cube-blog-preview.vercel.app/blog/introducing-the-langchain-integration)
for details on querying Cube and building a complete AI-based application.

Also, please feel free to review a chat-based demo application [source code](https://github.com/cube-js/examples/tree/master/langchain)
on GitHub.

[langchain]: https://python.langchain.com/

[langchain-docs-getting-started]: https://python.langchain.com/docs/get_started/installation

[langchain-docs-cube]: https://python.langchain.com/docs/integrations/document_loaders/cube_semantic#example

[ref-rest-api]: /reference/core-data-apis/rest-api

[ref-jwt]: /docs/data-modeling/access-control#generating-json-web-tokens-jwt
