BERT Faq Classification - dashboard backend
Welcome in the repository of the back-end dashboard for the bert-faqclass project! This repository contains the code to set-up a dashboard backend to control the knowledge base of your AI chatbot.
Note: check out the use case description in this Medium article.
About the design pattern
The code relies on the Clean Architecture, described by Uncle Bob, based on the Dependency Rule. Citing Uncle Bob'b blog:
The concentric circles represent different areas of software. In general, the further in you go, the higher level the software becomes. The outer circles are mechanisms. The inner circles are policies.
The overriding rule that makes this architecture work is The Dependency Rule. This rule says that source code dependencies can only point inwards. Nothing in an inner circle can know anything at all about something in an outer circle. In particular, the name of something declared in an outer circle must not be mentioned by the code in the an inner circle. That includes, functions, classes. variables, or any other named software entity. By the same token, data formats used in an outer circle should not be used by an inner circle, especially if those formats are generate by a framework in an outer circle. We don’t want anything in an outer circle to impact the inner circles.
The code is inspired by Manuel Kiessling's blog example, 8 years old but still useful.
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites
Before to install the software make sure you already have installed:
- Golang: an open source programming language that makes it easy to build simple, reliable, and efficient software.
Local development and running tests
It's easy! In order to run the code on your local machine you have to run the following command:
go run main.go
Deployment and production build
To create a production build you need to run the following command:
go build main.go
Authors
- Nicola Massarenti
License
This project is licensed under the MIT License - see the LICENSE.md file for details.