Scaffold the About section

This commit is contained in:
Daniel 2024-02-09 16:53:29 +08:00
parent 78d0b1e192
commit 7c37bc63c1
46 changed files with 188 additions and 413 deletions

View File

@ -1,22 +1,8 @@
--- ---
title: | title: "Post Mortem: Bitdefender False Positive Flag"
10/1/24: Bitdefender False Positive Flag (Resolved) description: "10th January 2024, Jan's 0.4.4 Release on Windows triggered Bitdefender to incorrectly flag it as infected with Gen:Variant.Tedy.258323, leading to automatic quarantine warnings on users' computers."
slug: /postmortems/january-10-2024-bitdefender-false-positive-flag 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. tags: [Postmortem]
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
postmortem,
incident,
flagging issue,
]
--- ---
Following the recent incident related to Jan version 0.4.4 triggering Bitdefender on Windows with Gen:Variant.Tedy.258323 on January 10, 2024, we wanted to provide a comprehensive postmortem and outline the necessary follow-up actions. Following the recent incident related to Jan version 0.4.4 triggering Bitdefender on Windows with Gen:Variant.Tedy.258323 on January 10, 2024, we wanted to provide a comprehensive postmortem and outline the necessary follow-up actions.

View File

@ -1 +0,0 @@
# TODO

View File

@ -1,79 +0,0 @@
---
title: Onboarding
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
slug: /onboarding
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
# Onboarding
Welcome to Jan! Were really excited to bring you onboard.
## Expectations
- **Take Initiative** Take ownership of an area. If you see a problem, take it and own it to completion. Your work will often not be defined, or poorly defined. Take the initiative to figure out what needs to be done, seek others out for clarification, and then communicate what you will be doing to the team.
- **Bias to Action** There are many problem-filled areas. There is no need to ask for permission or try to build consensus: just take action.
- **Speak Up** We require clear, effective and timely communication, which enables others to coordinate with you to be effective. We are a fully distributed, remote team of people from different cultures and languages. If conflicts do arise, first assume Hanlons Razor: “Never attribute to malice that which is adequately explained by ~~stupidity~~ lack of communication or too much ambiguity”. Dont take things personally, be a professional.
- **Mastery** We are working in a frontier industry, where there are no playbooks, and expertise is developed by doing. Own your area, and build mastery.
## Code of conduct
- We operate on the basis of trust.
- We expect you to be available and communicative during scheduled meetings or work hours.
- Turning on video during meetings is encouraged.
- Casual dress during meetings is acceptable; however, use discretion (No nudity, pajamas, etc.)
- While its natural for people to disagree at times, disagreement is no excuse for poor behavior and poor manners. We cannot allow that frustration to turn into a personal attack.
- Respect other people's cultures. Especially since we are working in a diverse working culture.
- Sexual harassment is a specific type of prohibited conduct. Sexual harassment is any unwelcome conduct of a sexual nature that might reasonably be expected or be perceived to cause offense or humiliation. Sexual harassment may involve any conduct of a verbal, nonverbal, or physical nature, including written and electronic communications, and may occur between persons of the same or different genders.
## Onboarding Checklist
### HR
- [ ] Service Agreement
- [ ] Equipment Loan Agreement
- [ ] Calendar events
- [ ] Add to Google Team
- [ ] Add to Standup & TGIF
- [ ] `#hr-*` channel
- [ ] BambooHr Log-in
- [ ] Add Emergency Contact in BambooHR
### Apps you will need
:::info
💡 In order to feel connected in a remote workplace, we encourage you to add your profile photo to all the accounts.
:::
- Company-wide
- [ ] Google:`[first_name]@jan.ai`
- Recommended: setup on Mobile too (i.e. Calendar, Mail)
- We use Google Calendar for tracking meetings, etc.
- [ ] Discord:
- [Invite link](https://discord.gg/sZb6qxfgyx) to Jans Discord
- We use Discord for day-to-day Comms in the company (ala Slack)
- Recommended: setup on Mobile with Notifications
- Download the desktop app
- [ ] 1Password
- [ ] [Jan](https://jan.ai/) - Desktop App
- Engineering
- [ ] Code Editor (such as VSCode, Vim, ect)
- [ ] Github
- Communications
- [ ] Fill in your contact details [here](https://docs.google.com/spreadsheets/d/1KAxya29_wb1bEESiFJeCrOec4pCG3uA2D4_VPgAn89U/edit#gid=0)
- [ ] To make sure everyone in the remote working environment understands more about each other, we encourage you to share your `How to work with me` in the [Drive Tab](https://docs.google.com/spreadsheets/d/1KAxya29_wb1bEESiFJeCrOec4pCG3uA2D4_VPgAn89U/edit#gid=0) under your name and the Discord `Internal` channel.

View File

@ -1,149 +0,0 @@
---
title: MLOps
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
slug: /engineering/mlops
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
## 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)
2. **Import .ovpn file**
3. **VSCode**: Install the "Remote-SSH" extension for connection
### Llama.cpp Setup
1. **Clone Repo**: `git clone https://github.com/ggerganov/llama.cpp && cd llama.cpp`
2. **Build**:
```bash
mkdir build && cd build
cmake .. -DLLAMA_CUBLAS=ON -DLLAMA_CUDA_F16=ON -DLLAMA_CUDA_MMV_Y=8
cmake --build . --config Release
```
3. **Download Model:**
```bash
cd ../models && wget https://huggingface.co/TheBloke/Llama-2-7B-GGUF/resolve/main/llama-2-7b.Q8_0.gguf
```
4. **Run:**
```bash
cd ../build/bin/
./main -m ./models/llama-2-7b.Q8_0.gguf -p "Writing a thesis proposal can be done in 10 simple steps:\nStep 1:" -n 2048 -e -ngl 100 -t 48
```
For the llama.cpp CLI arguments you can see here:
| Short Option | Long Option | Param Value | Description |
| --------------- | --------------------- | ----------- | ---------------------------------------------------------------- |
| `-h` | `--help` | | Show this help message and exit |
| `-i` | `--interactive` | | Run in interactive mode |
| | `--interactive-first` | | Run in interactive mode and wait for input right away |
| | `-ins`, `--instruct` | | Run in instruction mode (use with Alpaca models) |
| `-r` | `--reverse-prompt` | `PROMPT` | Run in interactive mode and poll user input upon seeing `PROMPT` |
| | `--color` | | Colorise output to distinguish prompt and user input from |
| **Generations** |
| `-s` | `--seed` | `SEED` | Seed for random number generator |
| `-t` | `--threads` | `N` | Number of threads to use during computation |
| `-p` | `--prompt` | `PROMPT` | Prompt to start generation with |
| | `--random-prompt` | | Start with a randomized prompt |
| | `--in-prefix` | `STRING` | String to prefix user inputs with |
| `-f` | `--file` | `FNAME` | Prompt file to start generation |
| `-n` | `--n_predict` | `N` | Number of tokens to predict |
| | `--top_k` | `N` | Top-k sampling |
| | `--top_p` | `N` | Top-p sampling |
| | `--repeat_last_n` | `N` | Last n tokens to consider for penalize |
| | `--repeat_penalty` | `N` | Penalize repeat sequence of tokens |
| `-c` | `--ctx_size` | `N` | Size of the prompt context |
| | `--ignore-eos` | | Ignore end of stream token and continue generating |
| | `--memory_f32` | | Use `f32` instead of `f16` for memory key+value |
| | `--temp` | `N` | Temperature |
| | `--n_parts` | `N` | Number of model parts |
| `-b` | `--batch_size` | `N` | Batch size for prompt processing |
| | `--perplexity` | | Compute perplexity over the prompt |
| | `--keep` | | Number of tokens to keep from the initial prompt |
| | `--mlock` | | Force system to keep model in RAM |
| | `--mtest` | | Determine the maximum memory usage |
| | `--verbose-prompt` | | Print prompt before generation |
| `-m` | `--model` | `FNAME` | Model path |
### TensorRT-LLM Setup
#### **Docker and TensorRT-LLM build**
> Note: You should run with admin permission to make sure everything works fine
1. **Docker Image:**
```bash
sudo make -C docker build
```
2. **Run Container:**
```bash
sudo make -C docker run
```
Once in the container, TensorRT-LLM can be built from the source using the following:
3. **Build:**
```bash
# To build the TensorRT-LLM code.
python3 ./scripts/build_wheel.py --trt_root /usr/local/tensorrt
# Deploy TensorRT-LLM in your environment.
pip install ./build/tensorrt_llm*.whl
```
> Note: You can specify the GPU architecture (e.g. for 4090 is ADA) for compilation time reduction
> The list of supported architectures can be found in the `CMakeLists.txt` file.
```bash
python3 ./scripts/build_wheel.py --cuda_architectures "89-real;90-real"
```
#### Running TensorRT-LLM
1. **Requirements:**
```bash
pip install -r examples/bloom/requirements.txt && git lfs install
```
2. **Download Weights:**
```bash
cd examples/llama && rm -rf ./llama/7B && mkdir -p ./llama/7B && git clone https://huggingface.co/NousResearch/Llama-2-7b-hf ./llama/7B
```
3. **Build Engine:**
```bash
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:**
```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:"
```
For the tensorRT-LLM CLI arguments, you can see in the `run.py`.

View File

@ -1,20 +0,0 @@
---
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,20 +0,0 @@
---
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,
]
---
import DocCardList from "@theme/DocCardList";
<DocCardList />

View File

@ -1,20 +0,0 @@
---
title: Careers
slug: /careers
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
## We're hiring
[Careers on Bamboo](https://janai.bamboohr.com/careers)

10
docs/docs/about/2035.md Normal file
View File

@ -0,0 +1,10 @@
---
title: Jan's Vision for 2035
---
- [ ] https://hackmd.io/QIWyYbNNQVWVbupuI3kjAA
We only have 2 planning parameters:
- 10 year vision
- 2 week sprint
- Quarterly OKRs

View File

@ -0,0 +1,6 @@
---
title: Roadmap
---
- [ ] Link to Github Roadmap
- [ ] Longer-term Roadmap

View File

@ -1,5 +1,5 @@
--- ---
title: Community title: Jan's Community
slug: /community slug: /community
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords: keywords:

View File

@ -0,0 +1,3 @@
---
title: How We Work
---

View File

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

View File

@ -0,0 +1,3 @@
---
title: Features
---

View File

@ -1,3 +0,0 @@
---
title: Offline AI
---

View File

@ -1,3 +1,3 @@
--- ---
title: Cloud-based AI title: OpenAI API Support (and others)
--- ---

View File

@ -1,3 +1,4 @@
--- ---
title: AI Employees title: AI Employees
tags: [use-cases]
--- ---

View File

@ -0,0 +1,4 @@
---
title: AI PC
tags: [use-cases]
---

View File

@ -1,3 +0,0 @@
---
title: Consultants
---

View File

@ -0,0 +1,4 @@
---
title: Self-hosted alternative to OpenAI's Platform
tags: [use-cases]
---

View File

@ -0,0 +1,4 @@
---
title: Software Consultants
tags: [audiences]
---

View File

@ -1,3 +1,4 @@
--- ---
title: Developers title: Developers
tags: [audiences]
--- ---

View File

@ -1,3 +1,4 @@
--- ---
title: Enterprises title: Enterprises
tags: [audiences]
--- ---

View File

@ -1,3 +1,4 @@
--- ---
title: Finance title: Finance
tags: [industries]
--- ---

View File

@ -0,0 +1,4 @@
---
title: Government
tags: [industries]
---

View File

@ -1,3 +1,4 @@
--- ---
title: Healthcare title: Healthcare
tags: [industries]
--- ---

View File

@ -0,0 +1,4 @@
---
title: Legal
tags: [industries]
---

View File

@ -1,3 +1,4 @@
--- ---
title: Startups title: Startups
tags: [audiences]
--- ---

View File

@ -1,3 +0,0 @@
---
title: Enterprise Search & Knowledge Management
---

View File

@ -1,3 +0,0 @@
---
title: Personal AI
---

View File

@ -0,0 +1,8 @@
---
title: Join us
---
- [ ] Explain Core Team, Contributors and Open Source approach
[Careers on Bamboo](https://janai.bamboohr.com/careers)

11
docs/docs/team/team.md Normal file
View File

@ -0,0 +1,11 @@
---
title: Who we are
---
What's Jan the company about?
We aim to build the cognitive framework for future robots
## Our Team
- Contributors
- Core Team

View File

@ -0,0 +1,3 @@
---
title: Wall of love
---

View File

@ -239,23 +239,39 @@ const config = {
}, },
items: [ items: [
// Navbar Left // Navbar Left
// {
// type: "docSidebar",
// sidebarId: "aboutSidebar",
// position: "left",
// label: "About",
// },
{ {
type: "docSidebar", type: "dropdown",
sidebarId: "productSidebar", label: "About",
positionL: "left", position: "left",
label: "Products", items: [
{
type: "doc",
label: "What is Jan?",
docId: "about/about",
},
{
type: "doc",
label: "Who we are",
docId: "team/team",
},
{
type: "doc",
label: "Wall of love",
docId: "wall-of-love",
},
],
}, },
{ {
type: "docSidebar", type: "docSidebar",
sidebarId: "solutionSidebar", sidebarId: "featuresSidebar",
positionL: "left", positionL: "left",
label: "Solutions", label: "Features",
},
{
type: "docSidebar",
sidebarId: "ecosystemSidebar",
positionL: "left",
label: "Ecosystem",
}, },
{ {
type: "docSidebar", type: "docSidebar",
@ -301,12 +317,6 @@ const config = {
label: "Blog", label: "Blog",
position: "right", position: "right",
}, },
{
type: "docSidebar",
sidebarId: "aboutSidebar",
position: "right",
label: "About",
},
], ],
}, },
prism: { prism: {

View File

@ -13,16 +13,61 @@
/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */ /** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
const sidebars = { const sidebars = {
productSidebar: [ aboutSidebar: [
{ {
type: "category", type: "category",
label: "Products", label: "What is Jan?",
link: { type: "doc", id: "about/about" },
items: [
{ type: "doc", id: "about/2035", label: "2035 Vision" },
"about/roadmap",
"community/community",
],
},
{
type: "category",
label: "Who we are",
link: { type: "doc", id: "team/team" },
items: ["team/join-us", "team/contributor-program"],
},
"wall-of-love",
{
type: "category",
label: "How We Work",
link: { type: "doc", id: "contributors" },
items: [
{
type: "autogenerated",
dirName: "contributors",
},
],
},
],
featuresSidebar: [
{
type: "category",
collapsible: true,
collapsed: true,
label: "Features",
link: { type: "doc", id: "features/features" },
items: [
"features/local",
"features/remote",
"features/api-server",
"features/extensions-framework",
"features/agents-framework",
"features/data-security",
],
},
{
type: "category",
label: "Platforms",
collapsible: false, collapsible: false,
items: [ items: [
"products/desktop", "platforms/desktop",
"server-suite/server-suite", "server-suite/server-suite",
"products/mobile", // "platforms/mobile",
"products/hub", // "platforms/hub",
], ],
}, },
// NOTE: Jan Server Suite will be torn out into it's own section in the future // NOTE: Jan Server Suite will be torn out into it's own section in the future
@ -37,69 +82,7 @@ const sidebars = {
// "server-suite/observability", // "server-suite/observability",
// ], // ],
// }, // },
{
type: "category",
collapsible: true,
collapsed: true,
label: "Features",
items: [
"features/local",
"features/remote",
"features/data-security",
"features/api-server",
"features/extensions-framework",
"features/agents-framework",
"features/offline",
],
},
],
solutionSidebar: [
{
type: "category",
label: "Use Cases",
collapsed: true,
collapsible: true,
items: [
"solutions/use-cases/personal-ai",
"solutions/use-cases/ai-employees",
"solutions/use-cases/enterprise-search",
// "solutions/sectors/legal",
// "solutions/sectors/government",
],
},
{
type: "category",
label: "Sectors",
collapsed: true,
collapsible: true,
items: [
"solutions/sectors/finance",
"solutions/sectors/healthcare",
// "solutions/sectors/legal",
// "solutions/sectors/government",
],
},
{
type: "category",
label: "Audiences",
collapsed: true,
collapsible: true,
items: [
"solutions/audiences/developers",
"solutions/audiences/startups",
"solutions/audiences/enterprises",
"solutions/audiences/consultants",
],
},
],
ecosystemSidebar: [
"ecosystem/ecosystem",
{
type: "category",
label: "Community",
link: { type: "doc", id: "community/community" },
items: ["community/contributor-program"],
},
{ {
type: "category", type: "category",
label: "Integrations", label: "Integrations",
@ -112,6 +95,40 @@ const sidebars = {
], ],
}, },
], ],
solutionSidebar: [
{
type: "category",
label: "Use Cases",
collapsed: true,
collapsible: true,
items: ["solutions/ai-pc", "solutions/chatgpt-alternative"],
},
{
type: "category",
label: "Sectors",
collapsed: true,
collapsible: true,
items: [
"solutions/finance",
"solutions/healthcare",
"solutions/legal",
"solutions/government",
],
},
{
type: "category",
label: "Organization Type",
collapsed: true,
collapsible: true,
items: [
"solutions/developers",
"solutions/consultants",
"solutions/startups",
"solutions/enterprises",
],
},
],
pricingSidebar: ["pricing/pricing"], pricingSidebar: ["pricing/pricing"],
partnerSidebar: ["partners/partners"], partnerSidebar: ["partners/partners"],
guidesSidebar: [ guidesSidebar: [
@ -132,13 +149,6 @@ const sidebars = {
dirName: "docs", dirName: "docs",
}, },
], ],
aboutSidebar: [
{
type: "autogenerated",
dirName: "about",
},
],
}; };
module.exports = sidebars; module.exports = sidebars;