## Chat Application

A Chat Application is created from a workflow that optimizes user experience by focusing on chat with the LLM model.
You can create multiple threads to chat with the LLM model. You can also add a structured output, vector database retrieval, and system prompt to the Chat Application.

[![App Project](./docs/chat-application.png)](./docs/chat-application.png)

### Get Started
You can follow the below tutorial to get started with Chat Application.
* [Tutorial](./#/document/chat-application "<_self>")
* [Download Project File](./docs/Extract-City.json "<download>")

### How to build a Chat Application from workflow

* **Step 1:** Create a LLM Node.
* **Step 2:** Load LLM model and then create a thread from the LLM Node.
* **Step 3:** From the Thread Node, create a Chat Application.

Or [reference this for more detail](./#/document/simple-workflow "<_self>")

Before creating a Chat Application. You can add few nodes connecting to the Thread Node which will help you to have a advanced Chat Application.
* Connect a `Schema Node` to the Thread Node to structured the LLM output.
* Connect a `Tool Node` to the Thread Node to call a tool.
* Connect a `Vector Database Node` to the Thread Node to retrieve data from the database.
* Connect a `Prompt Node` to the Thread Node to add system prompt to the Chat Application.

### Features

* **Chat:** Chat with LLM model.
* **Multiple Thread:** Create multiple threads to chat with LLM model.
* **Structured Output:** Display structured output from LLM model.
* **Vector Database Retrieval:** Retrieve data from the vector database.

### Components
* **Thread List**: List of threads created in the right panel of the Chat Application. You can select any thread or create a new thread.
* **Chat Area**: Chat area to chat with LLM model.
* **LLM Model Info**: Display LLM model information in bottom of right panel. You must load the LLM model before starting the chat.
* **Vector Database Info**: If you have connected the Vector Database Node to the Thread Node, then you can see the Vector Database information in the bottom of right panel and on the top of LLM Model Info. You can see the data of vector database, add new record, or import from the file.

<br />
<br />
<br />
<br />
<br />
