docs: new pages for eng and product

This commit is contained in:
0xSage 2024-01-22 14:49:54 +08:00
parent 7d09223c69
commit bf12b78e29
16 changed files with 168 additions and 10 deletions

View File

@ -1,7 +1,7 @@
---
title: Handbook
title: Onboarding
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
slug: /handbook
slug: /onboarding
keywords:
[
Jan AI,

View File

@ -0,0 +1,10 @@
---
title: CI & CD
slug: /engineering/ci-cd
---
## Gitflow
Previously we were trunk based. Now we use the following Gitflow:
TODO: @van to include her Mermaid diagram

View File

@ -0,0 +1,80 @@
---
title: QA
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
slug: /engineering/qa
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
### Phase 1: Planning
#### Definition of Ready (DoR):
- [ ] **Scope Defined:** The features to be implemented are clearly defined and scoped out.
- [ ] **Requirements Gathered:** Gather and document all the necessary requirements for the feature.
- [ ] **Stakeholder Input:** Ensure relevant stakeholders have provided input on the document scope and content.
#### Definition of Done (DoD):
- [ ] **Document Complete:** All sections of the document are filled out with relevant information.
- [ ] **Reviewed by Stakeholders:** The document has been reviewed and approved by stakeholders.
- [ ] **Ready for Development:** The document is in a state where developers can use it to begin implementation.
### Phase 2: Development
#### Definition of Ready (DoR):
- [ ] **Task Breakdown:** The development team has broken down tasks based on the document.
- [ ] **Communication Plan:** A plan is in place for communication between developers and writers if clarification is needed during implementation.
- [ ] **Developer Understanding:** Developers have a clear understanding of the document content.
#### Definition of Done (DoD):
- [ ] **Code Implementation:** The feature is implemented according to the document specifications.
- [ ] **Developer Testing:**
- Unit tests and basic integration tests are completed
- Developer also completed self-testing for the feature (please add this as a comment in the ticket, with the tested OS and as much info as possible to reduce overlaping effort).
- (AC -> Code Changes -> Impacted scenarios)
- [ ] **Communication with Writers:** Developers have communicated any changes or challenges to the writers, and necessary adjustments are made in the document. (Can be through a note in the PR of the feature for writers to take care, or create a separate PR with the change you made for the docs, for writers to review)
### Phase 3: QA for feature
#### Definition of Ready (DoR):
- [ ] **Test Note Defined:** The test note is prepared outlining the testing items.
- [ ] **Environment Ready:** PR merged to nightly build, Nightly build notes updated (automatically from pipeline after merged).
- [ ] **Status:** Ticket moved to the column Testing and assigning to QA/writers to review.
- [ ] **Test Data Prepared:** Relevant test data is prepared for testing the scenarios.
#### Definition of Done (DoD):
- [ ] **Test Executed:** All identified test items are executed on different OS, along with exploratory testing.
- [ ] **Defects Logged:** Any defects found during testing are resolved / appropriately logged (and approved for future fix).
- [ ] **Test Sign-Off:** QA team provides sign-off indicating the completion of testing.
### Phase 4: Release (DoR)
- [ ] **Pre-release wait time:** Code change to pre-release version should be frozen for at least X (hrs/days) for Regression testing purpose.
- Pre-release cut off on Thu morning for the team to regression test.
- Release to production (Stable) during working hour on Mon morning (if no blocker) or Tue morning.
- During the release cut off, the nightly build will be paused, to leave room for pre-release build. The build version used for regression test will be notified.
- [ ] **Pre-release testing:** A review of the implemented feature has been conducted, a long with regression test (check-list) by the team.
- Release checklist cloned from the templat for different OS (with hackMD link)
- New key test items from new feature added to the checklist.
- Split 3 OS to different team members for testing.
- [ ] **Document Updated:** The document is updated based on the review and feedback on any discrepancies or modification needed for this release.
- [ ] **Reviewed by Stakeholders:** New feature and the updated document is reviewed and approved by stakeholders. The document is in its final version, reflecting the implemented feature accurately.
### Notes (WIP)
- [ ] **API collection run:** to run along with nightly build daily, for critical API validation
- [ ] **Automation run:** for regression testing purpose, to reduce manual testing effort for the same items each release on multiple OS.

View File

@ -1,7 +1,7 @@
---
title: Engineering
title: MLOps
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
slug: /handbook/engineering
slug: /engineering/mlops
keywords:
[
Jan AI,
@ -17,6 +17,8 @@ keywords:
## Connecting to Rigs
We have a small data rig you can remote into for R&D and CI.
### Pritunl Setup
1. **Install Pritunl**: [Download here](https://client.pritunl.com/#install)
@ -138,7 +140,7 @@ cd examples/llama && rm -rf ./llama/7B && mkdir -p ./llama/7B && git clone https
python build.py --model_dir ./llama/7B/ --dtype float16 --remove_input_padding --use_gpt_attention_plugin float16 --enable_context_fmha --use_gemm_plugin float16 --use_weight_only --output_dir ./llama/7B/trt_engines/weight_only/1-gpu/
```
4. Run Inference:
4. **Run Inference:**
```bash
python3 run.py --max_output_len=2048 --tokenizer_dir ./llama/7B/ --engine_dir=./llama/7B/trt_engines/weight_only/1-gpu/ --input_text "Writing a thesis proposal can be done in 10 simple steps:\nStep 1:"

View File

@ -0,0 +1,20 @@
---
title: R&D
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
slug: /engineering/research
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
## Foundry Best Practices
@alan/rex TODO

View File

@ -1,7 +1,7 @@
---
title: |
[January 10, 2024] - (Resolved) Bitdefender False Positive Flag
slug: /postmortem/january-10-2024-bitdefender-false-positive-flag
10/1/24: Bitdefender False Positive Flag (Resolved)
slug: /postmortems/january-10-2024-bitdefender-false-positive-flag
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords:
[

View File

@ -0,0 +1,16 @@
---
title: Postmortems
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
slug: /postmortems
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---

View File

@ -0,0 +1,21 @@
---
title: Engineering
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
slug: /engineering
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
## Prerequisites
- [Requirements](https://github.com/janhq/jan?tab=readme-ov-file#requirements-for-running-jan)
- [Setting up local env](https://github.com/janhq/jan?tab=readme-ov-file#contributing)

View File

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -1,9 +1,9 @@
---
title: Product
slug: /handbook/product
title: Roadmap
slug: /product/roadmap
---
We use the [Jan Monorepo Project](https://github.com/orgs/janhq/projects/5) in Github for 100% of our product / project management.
We use the [Jan Monorepo Project](https://github.com/orgs/janhq/projects/5) in Github to manage our roadmap.
As much as possible, everyone owns their respective `epics` and `tasks`.

View File

@ -0,0 +1,9 @@
---
title: Product
slug: /product
---
## Prerequisites
- [Figma](https://figma.com)
- [ScreenStudio](https://www.screen.studio/)