Skip to content

peacewang017/KloudMinds

Repository files navigation

KloudMinds

Team Member:

  • Student 1: Zhengyang Luo, [t0933775].
  • Student 2: Ripeng Li, [t0933462]
  • Student 3: Yihan Jin, [t0933695]
  • Student 4: Yiliu Dong, [t0933287]

1. Project Overview

1.1 Project Description

  _  ___                 _ __  __ _           _     
 | |/ / |               | |  \/  (_)         | |    
 | ' /| | ___  _   _  __| | \  / |_ _ __   __| |___ 
 |  < | |/ _ \| | | |/ _` | |\/| | | '_ \ / _` / __|
 | . \| | (_) | |_| | (_| | |  | | | | | | (_| \__ \
 |_|\_\_|\___/ \__,_|\__,_|_|  |_|_|_| |_|\__,_|___/

AI-driven cloud-native file management and R-A-G service

  • Large storage space

  • Fast retrieval (exact/fuzzy)

  • AI reading analysis

1.2 System Architecture

1.2.1 General structure

1.2.2 Storage structure

1.2.3 RAG structure

1.2.4 Chat structure

1.3 Key Components

  • backend: Backend, control the whole system, respond to frontend requests and send message to rabbitmq, based on springboot and Java.

  • frontend: User interface, base on Vue.

  • jiexi-server: Parse the file(docx, doc, pdf) to pure txt for further process and interact with MinIO, based on Java.

  • retrieve-server: Vectorize and parallelly upload file chunks, based on Python and flask.

  • chat-server: Provide chat service, based on Python and flask.

2. Environment Setup

2.1 Prerequisites

  • Git
  • Kubernetes
  • AWS CLI
  • helm
  • Java
  • Maven
  • Python3 and libs
  • Javascript
  • Vue

2.2 Installation

If you are using a Linux distribution or MacOS, all these requirements can be installed using your package manager(zypper, homebrew, apt-get, pacman), just run as follow:

${your_package_manager} install kubenetes

3. Application Deployment

Note that this section has been split into separate instruction files so there is a readme.md in each subfolder of the project that gives very detailed deployment and debugging instructions.

Contents of each subfolder are as follow:

  1. readme.md: Deployment documentation providing detailed deployment and debugging guidance.

  2. yamls/*.yaml: Kubernetes configuration files

  3. test/*.test: Test code

  4. src: Source code of microservice

Please follow the order 1 -> 2 -> 3 for configuration and deployment:

  1. AWS-configure, EFS

  2. Minio, elastic-search, monitoring-logging, ndbmysql, rabbitmq,weaviate, retrieve-server, ai-chat-server, jiexi-server

  3. backend, frontend

After deployment, you can log in and use the service by accessing the port exposed by the frontend.

About

NUS summer workshop 2024

Resources

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •