From 66cdf9a506d908dacad58c60350bbca85f861c0a Mon Sep 17 00:00:00 2001 From: 0xSage Date: Wed, 18 Oct 2023 17:42:15 +0800 Subject: [PATCH] docs: model install adr --- adr/Makefile | 15 +++++---- adr/adr-005-model-installation-ux.md | 29 ----------------- adr/adr-005-model-installation.md | 48 ++++++++++++++++++++++++++++ adr/adr-template.md | 6 ++-- 4 files changed, 61 insertions(+), 37 deletions(-) delete mode 100644 adr/adr-005-model-installation-ux.md create mode 100644 adr/adr-005-model-installation.md diff --git a/adr/Makefile b/adr/Makefile index 83029712f5..edbe801ea3 100644 --- a/adr/Makefile +++ b/adr/Makefile @@ -1,11 +1,14 @@ newadr: @echo "Initiating an ADR..." @last_number=$$(ls $(CURDIR)/adr-[0-9][0-9][0-9]-* | sort -V | tail -n 1 | cut -d '-' -f 2); \ + last_number=$$(echo $$last_number | sed 's/^0*//'); \ next_number=$$(printf "%03d" $$(( $$last_number + 1 ))); \ read -p "Enter ADR title: " title; \ - cp $(CURDIR)/adr-template.md $(CURDIR)/adr-$$next_number-$$title.md -# newadr: -# @echo "Initiating an ADR..." -# @read -p "Enter ADR number (e.g. 001): " number; \ -# read -p "Enter ADR title: " title; \ -# cp $(CURDIR)/adr-template.md $(CURDIR)/adr-$${number}-$${title}.md \ No newline at end of file + title=$$(echo $$title | tr ' ' '-'); \ + cp $(CURDIR)/adr-template.md $(CURDIR)/adr-$$next_number-$$title.md; \ + date=$$(date +%Y-%m-%d); \ + usernames=$$(git config user.name); \ + sed -i '' 's/{ADR-NUM}/'$$next_number'/g' $(CURDIR)/adr-$$next_number-$$title.md; \ + sed -i '' 's/{TITLE}/'$$title'/g' $(CURDIR)/adr-$$next_number-$$title.md; \ + sed -i '' 's/{DATE}/'$$date'/g' $(CURDIR)/adr-$$next_number-$$title.md; \ + sed -i '' 's/{USERNAMES}/'$$usernames'/g' $(CURDIR)/adr-$$next_number-$$title.md \ No newline at end of file diff --git a/adr/adr-005-model-installation-ux.md b/adr/adr-005-model-installation-ux.md deleted file mode 100644 index b3dd92105c..0000000000 --- a/adr/adr-005-model-installation-ux.md +++ /dev/null @@ -1,29 +0,0 @@ -# ADR {ADR-NUM}: {TITLE} - -## Changelog -- {date}: {changelog} - -## Authors -- @usernames - -## Status - -What is the status, such as proposed, accepted, rejected, deprecated, superseded, etc.? - -{Proposed|Accepted|Rejected} - -## Context - -What is the issue that we're seeing that is motivating this decision or change? - -## Decision - -What is the change that we're proposing and/or doing? - -## Consequences - -What becomes easier or more difficult to do because of this change? - -## Alternatives - -## Reference diff --git a/adr/adr-005-model-installation.md b/adr/adr-005-model-installation.md new file mode 100644 index 0000000000..f0f45ffb17 --- /dev/null +++ b/adr/adr-005-model-installation.md @@ -0,0 +1,48 @@ +# ADR 005: model-installation + +## Changelog + +- 2023-10-18: Initial draft + +## Authors + +- 0xSage + +## Status + +Proposed + +## Context + +There are a few issues with our current model installation method (hardcoding jsons in /models repo): + +- Users want to add their own model binaries +- Maintaining /models is too manual + +## Decision + +Let Users download models on their own & manually import them to Jan via a "add a model" UI + +Links: + +- Github issue: https://github.com/janhq/jan/issues/359 +- Related issue: https://github.com/janhq/jan/issues/304 +- Designs: https://www.figma.com/file/JdK7cNIBeVdYeHxKiYeWtk/JAN---Web?type=design&node-id=4092-58218&mode=design&t=8OmFSG0E6I8Y3IjY-0 + +## Consequences + +Closed alternate solutions: + +- https://github.com/janhq/jan/issues/328 + +## Alternatives + +Thinking through the model selection experience, there are a few possibilities: + +1. [current] We hardcode models (via Github) to show up in Explore Models => unnecessarily manual, missing models users want +1. We mirror HF models for a faster download => users can also do nitro add llama2 +1. [CHOSEN] Users download models on their own & manually import them to Jan via a "add a model" UI => I like this option actually +1. [LATER] Users paste in a HF link and download the model in Explore Models => do we still render model cards for them? +1. Users manage their own models folder, e.g. /Users/nicole/models, then they set folder path in Jan. => this one needs a lot of designs/fe work + +## Reference diff --git a/adr/adr-template.md b/adr/adr-template.md index b3dd92105c..61e14f9284 100644 --- a/adr/adr-template.md +++ b/adr/adr-template.md @@ -1,10 +1,12 @@ # ADR {ADR-NUM}: {TITLE} ## Changelog -- {date}: {changelog} + +- {DATE}: Initial draft ## Authors -- @usernames + +- {USERNAMES} ## Status