/casibase

Domain knowledge database powered by ChatGPT, Casbin and Casdoor

Primary LanguageJavaScriptApache License 2.0Apache-2.0

📦⚡️ Casibase

A pioneering customizable open-source Domain Knowledge Base (DKB) powered by ChatGPT, Casbin, and Casdoor.

semantic-release docker pull casbin/casibase GitHub Workflow Status (branch) GitHub Release Docker Image Version (latest semver)

Go Report Card license GitHub issues GitHub stars GitHub forks Crowdin Gitter

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

0-Architecture-casibase

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:

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)

    clientId = <Your_clientId_in_Casdoor_configuration>
    clientSecret = <Your_clientSecret_in_Casdoor_configuration>
    casdoorDbName = casdoor
    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

8-Preview-base-wordsets

9-Preview-casibase-stores

The casibase demo is shown above, and in the future users can upload various knowledge files, wordsets, and vectorsets to achieve a customized domain knowledge base.