Merge pull request #1047 from janhq/docsNits

docs: improve quickstart docs
This commit is contained in:
0xSage 2023-12-18 17:35:02 +08:00 committed by GitHub
commit 838b476693
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 372 additions and 200 deletions

View File

@ -1,13 +0,0 @@
---
title: How Jan Works
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 ]
---
- Local Filesystem
- Follow-on from Quickstart to show how things actually worked
- Write in a conversational style, show how things work under the hood
- Check how filesystem changed after each request
- Model loading into RAM/VRAM
- Explain how the .bin file is loaded via Llama.cpp
- Explain how it consumes RAM and VRAM, and refer to system monitor

View File

@ -1,5 +0,0 @@
---
title: Model Management
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 ]
---

159
docs/docs/guides/models.mdx Normal file
View File

@ -0,0 +1,159 @@
---
title: Model Management
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,
]
---
{/* Imports */}
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
Jan is compatible with all GGUF models.
If you don't see the model you want in the Hub, or if you have a custom model, you can add it to Jan.
In this guide we will use our latest model, [Trinity](https://huggingface.co/janhq/trinity-v1-GGUF), as an example.
> We are fast shipping a UI to make this easier, but it's a bit manual for now. Apologies.
## 1. Create a model folder
Navigate to the `~/jan/models` folder on your computer.
In `App Settings`, go to `Advanced`, then `Open App Directory`.
<Tabs groupId="operating-systems">
<TabItem value="mac" label="macOS">
```sh
cd ~/jan/models
```
</TabItem>
<TabItem value="win" label="Windows">
```sh
C:/Users/<your_user_name>/jan/models
```
</TabItem>
<TabItem value="linux" label="Linux">
```sh
cd ~/jan/models
```
</TabItem>
</Tabs>
In the `models` folder, create a folder with the name of the model.
<Tabs groupId="operating-systems">
<TabItem value="mac" label="macOS">
```sh
mkdir trinity-v1-7b
```
</TabItem>
<TabItem value="win" label="Windows">
```sh
mkdir trinity-v1-7b
```
</TabItem>
<TabItem value="linux" label="Linux">
```sh
mkdir trinity-v1-7b
```
</TabItem>
</Tabs>
## 2. Create a model JSON
Jan follows a folder-based, [standard model template](/specs/models) called a `model.json` to persist the model configurations on your local filesystem.
This means you can easily & transparently reconfigure your models and export and share your preferences.
<Tabs groupId="operating-systems">
<TabItem value="mac" label="macOS">
```sh
cd trinity-v1-7b
touch model.json
```
</TabItem>
<TabItem value="win" label="Windows">
```sh
cd trinity-v1-7b
touch model.json
```
</TabItem>
<TabItem value="linux" label="Linux">
```sh
cd trinity-v1-7b
touch model.json
```
</TabItem>
</Tabs>
Copy the following configurations into the `model.json`.
1. Make sure the `id` property is the same as the folder name you created.
2. Make sure the `source_url` property is the direct binary download link ending in `.gguf`. In HuggingFace, you can find the directl links in `Files and versions` tab.
3. Ensure you are using the correct `prompt_template`. This is usually provided in the HuggingFace model's description page.
```js
{
"source_url": "https://huggingface.co/janhq/trinity-v1-GGUF/resolve/main/trinity-v1.Q4_K_M.gguf",
"id": "trinity-v1-7b",
"object": "model",
"name": "Trinity 7B Q4",
"version": "1.0",
"description": "Trinity is an experimental model merge of GreenNodeLM & LeoScorpius using the Slerp method. Recommended for daily assistance purposes.",
"format": "gguf",
"settings": {
"ctx_len": 2048,
"prompt_template": "<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant"
},
"parameters": {
"max_tokens": 2048
},
"metadata": {
"author": "Jan",
"tags": ["7B", "Merged", "Featured"],
"size": 4370000000
},
"engine": "nitro"
}
```
## 3. Download your model
Restart the Jan application and look for your model in the Hub.
Click the green `download` button to download your actual model binary. This pulls from the `source_url` you provided above.
![image](https://hackmd.io/_uploads/HJLAqvwI6.png)
There you go! You are ready to use your model.
If you have any questions or want to request for more preconfigured GGUF models, please message us in [Discord](https://discord.gg/Dt7MxDyNNZ).

View File

@ -1,97 +0,0 @@
---
title: Quickstart
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,
]
---
Jan is compatible with all GGUF models.
In this guide we will use our latest model, [Trinity](https://huggingface.co/janhq/trinity-v1-GGUF), as an example.
## 1. Create a model folder
Navigate to `~/jan/models` folder on your computer.
In `App Settings`, go to `Advanced`, then `Open App Directory`.
Or, you can directly cd into:
```sh
# Windows
C:/Users/<your_user_name>/jan/models
# MacOS/Linux
jan/models
```
In the `models` folder, create a folder with the name of the model.
```sh
mkdir trinity-v1-7b
```
## 2. Create a model JSON
Jan follows a folder-based, [standard model template](/specs/models) called a `model.json`. This allows for easy model configurations, exporting, and sharing.
```sh
cd trinity-v1-7b
touch model.json
```
Copy the following into the `model.json`
```js
{
"source_url": "https://huggingface.co/janhq/trinity-v1-GGUF/resolve/main/trinity-v1.Q4_K_M.gguf",
"id": "trinity-v1-7b",
"object": "model",
"name": "Trinity 7B Q4",
"version": "1.0",
"description": "Trinity is an experimental model merge of GreenNodeLM & LeoScorpius using the Slerp method. Recommended for daily assistance purposes.",
"format": "gguf",
"settings": {
"ctx_len": 2048,
"prompt_template": "<|im_start|>system\n{system_message}<|im_end|>\n<|im_start|>user\n{prompt}<|im_end|>\n<|im_start|>assistant"
},
"parameters": {
"max_tokens": 2048
},
"metadata": {
"author": "Jan",
"tags": ["7B", "Merged", "Featured"],
"size": 4370000000
},
"engine": "nitro"
}
```
:::caution
Ensure the `source_url` property is the direct binary download link ending in `.gguf`. Find the links in Huggingface > `Files and versions`.
Ensure the `id` property is the model foldername
Ensure you are using the correct `prompt_template`
:::
## 3. Download your model binary
Restart the Jan application and look for your model in the Hub.
Click the green `download` button to download your actual model binary from the URL you provided.
![image](https://hackmd.io/_uploads/HJLAqvwI6.png)
There you go! You are ready to use your model.
If you have any questions or want to request for more preconfigured GGUF models, please message us in [Discord](https://discord.gg/Dt7MxDyNNZ).

View File

@ -0,0 +1,81 @@
---
title: Quickstart
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,
]
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
In this quickstart we'll show you how to:
- Download the Jan Desktop client - Mac, Windows, Linux, (and toaster) compatible
- Download and customize models
- Import custom models
- Use the local server at port `1337`
## Setup
### Installation
- To download the latest stable release: https://jan.ai/
- To download a nightly release (highly unstable but lots of new features): https://github.com/janhq/jan/releases
- For a detailed installation guide for your operating system, see the following:
<Tabs groupId="operating-systems">
<TabItem value="mac" label="macOS">
[Mac installation guide](/install/mac)
</TabItem>
<TabItem value="win" label="Windows">
[Windows installation guide](/install/windows)
</TabItem>
<TabItem value="linux" label="Linux">
[Linux installation guide](/install/linux)
</TabItem>
</Tabs>
- To build Jan Desktop from scratch (and have the right to tinker!)
See the [Build from Source](/install/from-source) guide.
### Working with Models
Jan provides a list of recommended models to get you started.
You can find them in the in-app Hub.
1. `cmd + k` and type "hub" to open the Hub.
2. Download your preferred models.
3. `cmd + k` and type "chat" to open the conversation UI and start chatting.
4. Your model may take a few seconds to start up.
5. You can customize the model settings, at each conversation thread level, on the right panel.
6. To change model defaults globally, edit the `model.json` file. See the [Models](/guides/models) guide.
### Importing Models
Jan is compatible with all GGUF models.
For more information on how to import custom models, not found in the Hub, see the [Models](/guides/models) guide.
## Working with the Local Server
> This feature is currently under development. So expect bugs!
Jan runs a local server on port `1337` by default.
The endpoints are OpenAI compatible.
See the [API server guide](/guides/server) for more information.
## Next Steps

View File

@ -1,72 +0,0 @@
---
title: Onboarding Checklist
slug: /handbook
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 ]
---
# Welcome
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 expected you to be available and communicative during scheduled meetings or work hours.
- We operate on the basis of trust.
- Employees should seek a quiet and distraction-free working space, to the extent possible.
- Turning on video during meetings is encouraged.
- Casual dress during meetings is acceptable; however, use discretion (No naked top, 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 understand 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

@ -0,0 +1,77 @@
---
title: Onboarding
slug: /handbook
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,
]
---
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 naked top, 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 understand 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

@ -0,0 +1,45 @@
---
title: Product
---
We use Github for 100% of our product / project management.
As much as possible, everyone owns their respective `epics` and `tasks`.
> We aim for a `loosely coupled, but tightly aligned` autonomous culture.
## Organization
[`Projects`](https://github.com/janhq/jan/projects?query=is%3Aopen)
- `Projects` track large, long-term, & strategic initiatives that can span multiple teams and multiple sprints
- `Projects` contain `epics`
[`Epics`](https://github.com/janhq/jan/issues?q=is%3Aissue+is%3Aopen+label%3A%22type%3A+epic%22)
- `Epics` track large stories that span 1-2 weeks, and it outlines specs, architecture decisions, designs
- Each `epic` corresponds with a Github `milestone`
- `Epics` contain `tasks`
- `Epics` should only have 1 owner
[`Milestones`](https://github.com/janhq/jan/milestones)
- `Milestones` correspond 1:1 to `epics` and are used to filter [Project Views](https://github.com/orgs/janhq/projects/5/views/1)
- `Milestones` span 1-2 weeks and have deadlines
[`Tasks`](https://github.com/janhq/jan/issues)
- Tasks are individual issues (feats, bugs, chores) that can be completed within a few days
- Tasks under `In-progress` and `Todo` should always belong to a `milestone`
- Tasks are usually named per [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/#summary)
- Tasks should only have 1 owner
We aim to always work on `tasks` that belong to a `milestones`.
## Task Status
- `triaged`: issues that have been assigned
- `todo`: issues you plan to tackle within this week
- `in-progress`: in progress
- `in-review`: pending PR or blocked by something
- `done`: done

View File

@ -20,7 +20,7 @@ const sidebars = {
link: { type: "doc", id: "guides/introduction" },
collapsible: true,
collapsed: true,
items: ["guides/quickstart", "guides/how-jan-works"],
items: ["guides/quickstart"],
},
{
type: "category",
@ -117,25 +117,22 @@ const sidebars = {
label: "About Jan",
id: "about/about",
},
{
type: "link",
label: "Careers",
href: "https://janai.bamboohr.com/careers",
},
{
type: "category",
label: "Company Handbook",
collapsible: true,
collapsed: true,
// link: { type: "doc", id: "handbook/handbook" },
collapsed: false,
items: [
{
type: "doc",
label: "Engineering",
id: "handbook/engineering/engineering",
},
"handbook/onboarding",
"handbook/product",
"handbook/engineering",
],
},
{
type: "link",
label: "Careers",
href: "https://janai.bamboohr.com/careers",
},
],
};