📦⚡️ Casibase
A pioneering customizable open-source Domain Knowledge Base (DKB) powered by ChatGPT, Casbin, and Casdoor.
Architecture
casibase contains 4 parts:
Name | Description | Language |
---|---|---|
Frontend | User interface for the casibase application | JavaScript + React |
Backend | Server-side logic and API for casibase | Golang + Beego + Python + Flask + MySQL |
AI Model | Artificial intelligence model | Python + OpenAI |
Knowledge Base | Storage for casibase application domain knowledge | pgvector |
Demo Installation
casibase uses Casdoor to manage members. So you need to create an organization and an application for casibase in a Casdoor instance.
Casdoor configuration
git clone https://github.com/casdoor/casdoor.git
refer to: https://casdoor.org/docs/basic/server-installation
Follow these steps to setup Casdoor for casibase:
-
Configure member information (remember its Name as well as Password)
-
Configuring Application Information (Remember Name, ClientID and ClientSecret. Change RedirectURLs to http://localhost:14000/callback)
casibase configuration
Get the code
git clone https://github.com/casbin/casibase.git
Setup database
casibase will store its users, nodes and topics informations in a MySQL database named: casibase
, will create it if not existed. The DB connection string can be specified at: https://github.com/casbin/casibase/blob/master/conf/app.conf
dataSourceName = root:123@tcp(localhost:3306)/
Casnode uses XORM to connect to DB, so all DBs supported by XORM can also be used.
Custom config
-
Backend (casibase\conf\app.conf
)casdoorEndpoint = <Your_Casdoor_endpoint> clientId = <Your_clientId_in_Casdoor_configuration> clientSecret = <Your_clientSecret_in_Casdoor_configuration> casdoorOrganization = "casibase" casdoorApplication = "app-casibase"
-
Frontend (casibase\web\src\Conf.js
)export const AuthConfig = { ...... clientId: <Your_clientId_in_Casdoor_configuration>, ...... };
Run casnode
-
Backend (casibase
)go run main.go
-
Frontend (casibase\web
)yarn install yarn start
Preview
Access the login view via the following link:
http://localhost:13001
The casibase demo is shown above, and in the future users can upload various knowledge files, wordsets, and factorsets to achieve a customized domain knowledge base.