Last updated: 2023-10-27
What do you get?
- Best Practices: Well structured Plotly Dash Chatbot App Template
- Use of OpenAI API with LangChain
- Step-by-Step Guide with Docker Deployment (14-page tutorial)
- Buy once and lifetime updates
Why Plotly Dash?
Plotly Dash is a productive Python Framework for building web-based applications. The Open Source library is licensed under the permissive MIT license. It is written on top of Flask, Plotly.js and React.js. You can create and deploy web apps with customised user interface (UI) in Python or R. The framework abstracts the protocols and technologies needed to create a full-stack web app.
LangChain is a powerful framework that can be used to work with LLMs. You can develop applications with different LLMs very easily. The framework consists of components. Components are abstractions for working with LLMs. They are modular and easy to use. In addition, you can use off-the-shelf chains. These are a structured assembly of components for higher-level tasks. You can customise existing chains or build new ones for more complex applications.
You can use Docker to isolate applications. It uses a concept called container virtualisation. Applications can be easily deployed with Docker because lightweight containers contain all the necessary packages. Containers share the services of a single operating system kernel, so they use fewer resources than virtual machines. Docker makes it easy to deploy a Dash App. With Docker, you can deploy the Dash App to all architectures (amd64, i386, arm64, arm). This approach makes you independent of the deployment environment (on-premise or cloud).
Model View Controller Pattern
The Plotly Dash Chatbot Template uses the Model View Controller Pattern (MVC). MVC is a pattern for dividing software into the three components: Model, View and Controller.
The model component contains the business logic. This component communicates with a database or other backend components. The view component displays the data. It should be noted that the view has no direct connection to the model. The controller forms the connection. The controller is responsible for data processing. The controller updates the view with data from one or more models. The Model View Controller pattern enables a clean separation of concepts. This approach facilitates the maintenance of the Dash application.
You get a well-structured Plotly Dash Chatbot App Template and a Step-by-Step Tutorial (with Docker Deployment).