rough draft of monorepo plan

This commit is contained in:
Richard Guo 2023-05-01 15:45:39 -04:00
parent 02d1bdb0be
commit b5df9c7cb1
3 changed files with 35 additions and 1 deletions

View File

@ -1,3 +1,3 @@
# GPT4All Bindings
This directory will contain language specific bindings on top of the C/C++ model backends.
We will have one directory per language binding (e.g. Python, Typescript, Go, etc.).
We will have one directory per language binding (e.g. Python, Typescript, Golang, etc.).

View File

34
monorepo_plan.md Normal file
View File

@ -0,0 +1,34 @@
# Monorepo Plan (DRAFT)
## Directory Structure
- gpt4all-api
- RESTful API
- gpt4all-backend
- C/C++ (ggml) model backends
- gpt4all-bindings
- Language bindings for model backends
- gpt4all-chat
- Chat GUI
- gpt4all-docker
- Dockerfile recipes for various gpt4all builds
- gpt4all-training
- Model training/inference/eval code
## Transition Plan:
This is roughly based on what's feasible now and path of least resistance.
1. Clean up gpt4all-training.
- Remove deprecated/unneeded files
- Organize into separate training, inference, eval, etc. directories
2. Clean up gpt4all-chat so it roughly has same structures as above
- Separate into gpt4all-chat and gpt4all-backends
- Separate model backends into separate subdirectories (e.g. llama, gptj)
3. Develop Python bindings (high priority and in-flight)
4. Develop Dockerfiles for different combinations of model backends and bindings
- Dockerfile for just model backend
- Dockerfile for model backend and Python bindings
5. Develop RESTful API / FastAPI