From b5df9c7cb1ed0eaecee4c9dbedac7c3ea4dfceb0 Mon Sep 17 00:00:00 2001 From: Richard Guo Date: Mon, 1 May 2023 15:45:39 -0400 Subject: [PATCH] rough draft of monorepo plan --- gpt4all-bindings/README.md | 2 +- gpt4all-bindings/golang/placeholder | 0 monorepo_plan.md | 34 +++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 1 deletion(-) create mode 100644 gpt4all-bindings/golang/placeholder create mode 100644 monorepo_plan.md diff --git a/gpt4all-bindings/README.md b/gpt4all-bindings/README.md index 22a11225..1969027e 100644 --- a/gpt4all-bindings/README.md +++ b/gpt4all-bindings/README.md @@ -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.). \ No newline at end of file +We will have one directory per language binding (e.g. Python, Typescript, Golang, etc.). \ No newline at end of file diff --git a/gpt4all-bindings/golang/placeholder b/gpt4all-bindings/golang/placeholder new file mode 100644 index 00000000..e69de29b diff --git a/monorepo_plan.md b/monorepo_plan.md new file mode 100644 index 00000000..49b12c05 --- /dev/null +++ b/monorepo_plan.md @@ -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 \ No newline at end of file