docs: refactor routes

This commit is contained in:
0xSage 2023-12-20 13:38:54 +08:00
parent b803dbe32c
commit a2c6395f2c
76 changed files with 609 additions and 353 deletions

View File

@ -2,6 +2,33 @@
This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator.
## Information Architecture
We try to **keep routes consistent** to maintain SEO.
- `/guides`: Guides on how to use the Jan application, with GIFs. For end users who are directly using Jan. Always assume users are not technical.
- `/developer`: Developer docs on how to extend Jan. These pages are about what people can build with our software. We must hide the complexity of HOW the app is built, but explain just enough of the high level architecture so devs know enough to build on top of it.
- `/api-reference`: Reference documentation, written in Swagger/OpenAPI format.
- `/docs`: Engineering specs and product specs, i.e. HOW the app is built. Mostly for internal reference and for our core contributors who are building the SDK itself.
### Sidebar Autogeneration
The order of each page is either explicitly defined in `sidebar.js` or follows the [Docusaurus autogenerated](https://docusaurus.io/docs/next/sidebar/autogenerated) naming format, `##-path-name.md`.
Important slugs are hardcoded at the document level (and shouldn't be rerouted):
```md
---
title: Overview
slug: /docs
---
```
## Contributing
### Installation ### Installation
``` ```
@ -48,5 +75,6 @@ When a PR is created, the preview URL will be automatically commented on the PR.
The documentation will then be published to [https://jan.ai/](https://jan.ai/) when the PR is merged to `main`. The documentation will then be published to [https://jan.ai/](https://jan.ai/) when the PR is merged to `main`.
### Additional Plugins ### Additional Plugins
- @docusaurus/theme-live-codeblock - @docusaurus/theme-live-codeblock
- [Redocusaurus](https://redocusaurus.vercel.app/): manually upload swagger files at `/openapi/OpenAPISpec.json` - [Redocusaurus](https://redocusaurus.vercel.app/): manually upload swagger files at `/openapi/OpenAPISpec.json`

View File

@ -1,8 +1,18 @@
--- ---
title: Architecture title: Architecture
slug: /specs slug: /developer/architecture
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::warning :::warning
@ -14,8 +24,9 @@ This page is still under construction, and should be read as a scratchpad
## Overview ## Overview
- Jan has a modular architecture and is largely built on top of its own modules. - Jan has a modular architecture and is largely built on top of its own modules.
- Jan uses a local [file-based approach](/specs/file-based) for data persistence. - Jan uses a local [file-based approach](/developer/file-based) for data persistence.
- Jan currently supports an Electron-based [Desktop UI](https://github.com/janhq/jan) and a C++ inference engine called [Nitro](https://nitro.jan.ai/docs/). - Jan provides an Electron-based [Desktop UI](https://github.com/janhq/jan).
- Jan provides an embeddable inference engine, written in C++, called [Nitro](https://nitro.jan.ai/docs/).
## Extensions ## Extensions

View File

@ -1,7 +1,18 @@
--- ---
title: File-based Approach title: File-based Approach
slug: /developer/file-based
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::warning :::warning

View File

@ -1,7 +1,18 @@
--- ---
title: User Interface title: User Interface
slug: /developer/ui
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::warning :::warning

View File

@ -1,6 +1,6 @@
--- ---
title: Overview title: Overview
slug: /docs slug: /developer
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords: keywords:
[ [
@ -15,6 +15,8 @@ keywords:
] ]
--- ---
TODO: pair this down. just quicklinks.
Jan SDK is an **extensible framework** that lets you build and run AI applications everywhere, with an emphasis on local first. Jan SDK is an **extensible framework** that lets you build and run AI applications everywhere, with an emphasis on local first.
It is available across Mac, Windows, Linux Desktops. It is also available as a headless server that can be deployed into any on-prem or cloud environments. It is available across Mac, Windows, Linux Desktops. It is also available as a headless server that can be deployed into any on-prem or cloud environments.
@ -35,17 +37,17 @@ The [Jan Desktop client](https://github.com/janhq/jan/releases) is built with Ja
[Gif: show desktop & server side by side] [Gif: show desktop & server side by side]
## Application Extensions ## Extensions
You can make feature level additions to Jan to extend the application UI & use cases. You can extend the application UI & use cases through extensions.
Jan's growing developer community is constantly adding new integrations that improve your productivity. Jan's core devs and growing developer community are constantly adding new extensions that bring feature level improvements and 3rd party integrations.
Read more about [application extensions](/docs/extension-capabilities/application). Read more about [application extensions](/docs/extension-capabilities/application).
## Core Extensions ## Core SDK
You can make framework or driver level additions to Jan to extend how Jan natively runs on your infrastructure. For example, you can customize inline OS commands or even integrate Jan with your IoT. You can extend how Jan natively runs on your infrastructure, including making framework or driver level changes, through modifying the `core SDK`. For example, you can create inline OS commands or even integrate Jan with your IoT.
Core Extension improvements can be packaged back into the core SDK and distributed to other extension developers. Core Extension improvements can be packaged back into the core SDK and distributed to other extension developers.

View File

@ -0,0 +1,9 @@
---
title: Your First Assistant
---
:::caution
This is currently under development.
:::
A quickstart on how to build an assistant

View File

@ -0,0 +1,9 @@
---
title: Anatomy of an Assistant
---
:::caution
This is currently under development.
:::
An overview of assistant.json

View File

@ -0,0 +1,9 @@
---
title: Package your Assistant
---
:::caution
This is currently under development.
:::
Packaging, exporting, sharing, publishing an assistant to Hub

View File

@ -0,0 +1,12 @@
---
title: Build an Assistant
---
:::caution
This is currently under development.
:::
In this tutorial you will learn:
-
-

View File

@ -0,0 +1,9 @@
---
title: Your First Assistant
---
:::caution
This is currently under development.
:::
A quickstart on how to integrate tensorrt llm

View File

@ -1,9 +1,9 @@
--- ---
title: Extension Capabilities title: Anatomy of an Engine
--- ---
# Overview
:::caution :::caution
This is currently under development. This is currently under development.
::: :::
An overview of engine.json

View File

@ -0,0 +1,9 @@
---
title: Package your Extension
---
:::caution
This is currently under development.
:::
Packaging, exporting, sharing, publishing an engine config to Hub

View File

@ -0,0 +1,12 @@
---
title: Build an Inference Engine
---
:::caution
This is currently under development.
:::
In this tutorial you will learn:
-
-

View File

@ -0,0 +1,9 @@
---
title: Your First Extension
---
:::caution
This is currently under development.
:::
A quickstart on tensorrt-llm impl

View File

@ -6,4 +6,4 @@ title: Anatomy of an Extension
This is currently under development. This is currently under development.
::: :::
Anatomy and lifecycle An overview of engine.json

View File

@ -0,0 +1,9 @@
---
title: Package your Extension
---
:::caution
This is currently under development.
:::
Packaging, exporting, sharing, publishing an extension to Hub

View File

@ -2,6 +2,8 @@
title: Build an Extension title: Build an Extension
--- ---
# Overview
:::caution :::caution
This is currently under development. This is currently under development.
::: :::

View File

@ -1,7 +0,0 @@
---
title: Using the Local Server
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: Building for Desktop
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: Building for Mobile
---
:::caution
This is currently under development.
:::

View File

@ -1,12 +0,0 @@
---
title: Get Started
---
:::caution
This is currently under development.
:::
There are various ways to build on top of Jan.
1. Use Jan as a local AI server
2. Build a cross-platform extension for Desktop application
3. ...

View File

@ -1,7 +0,0 @@
---
title: Core Extensions
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: Application Extensions
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: Application Extensions
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: Assistant
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: Inference
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: Model
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: Monitoring
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: Thread & Messages
---
:::caution
This is currently under development.
:::

View File

@ -1,7 +0,0 @@
---
title: UI Kit
---
:::caution
This is currently under development.
:::

6
docs/docs/docs/README.md Normal file
View File

@ -0,0 +1,6 @@
---
title: Overview
slug: /docs
---
Hello world

View File

@ -0,0 +1,5 @@
---
title: Engineering Specs
---
Talk about CoreSDK here

View File

@ -1,8 +1,17 @@
--- ---
title: "Assistants" title: "Assistants"
slug: /specs/assistants
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::caution :::caution

View File

@ -1,8 +1,17 @@
--- ---
title: Chats title: Chats
slug: /specs/chats
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::caution :::caution

View File

@ -1,6 +1,5 @@
--- ---
title: Engine title: Engine
slug: /specs/engine
--- ---
:::caution :::caution

View File

@ -1,8 +1,17 @@
--- ---
title: "Files" title: "Files"
slug: /specs/files
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::warning :::warning

View File

@ -0,0 +1,17 @@
---
title: "Fine-tuning"
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,
]
---
Todo: @hiro

View File

@ -1,8 +1,17 @@
--- ---
title: Messages title: Messages
slug: /specs/messages
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::caution :::caution

View File

@ -1,8 +1,17 @@
--- ---
title: Models title: Models
slug: /specs/models
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::caution :::caution
@ -53,7 +62,6 @@ jan/ # Jan root folder
Here's a standard example `model.json` for a GGUF model. Here's a standard example `model.json` for a GGUF model.
```js ```js
{ {
"id": "zephyr-7b", // Defaults to foldername "id": "zephyr-7b", // Defaults to foldername

View File

@ -1,8 +1,17 @@
--- ---
title: Prompts title: Prompts
slug: /specs/prompts
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
- [ ] /prompts folder - [ ] /prompts folder

View File

@ -1,8 +1,17 @@
--- ---
title: Threads title: Threads
slug: /specs/threads
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::caution :::caution

View File

Before

Width:  |  Height:  |  Size: 172 KiB

After

Width:  |  Height:  |  Size: 172 KiB

View File

Before

Width:  |  Height:  |  Size: 629 KiB

After

Width:  |  Height:  |  Size: 629 KiB

View File

Before

Width:  |  Height:  |  Size: 105 KiB

After

Width:  |  Height:  |  Size: 105 KiB

View File

Before

Width:  |  Height:  |  Size: 96 KiB

After

Width:  |  Height:  |  Size: 96 KiB

View File

@ -0,0 +1,3 @@
---
title: Product Specs
---

View File

@ -1,8 +1,17 @@
--- ---
title: Chat title: Chat
slug: /specs/chat
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
## Overview ## Overview

View File

@ -1,8 +1,17 @@
--- ---
title: Hub title: Hub
slug: /specs/hub
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
## Overview ## Overview

View File

@ -1,11 +1,19 @@
--- ---
title: Jan (Assistant) title: Jan (The Default Assistant)
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
## Jan: a "global" assistant
Jan ships with a default assistant "Jan" that lets users chat with any open source model out-of-the-box. Jan ships with a default assistant "Jan" that lets users chat with any open source model out-of-the-box.
This assistant is defined in `/jan`. It is a generic assistant to illustrate power of Jan. In the future, it will support additional features e.g. multi-assistant conversations This assistant is defined in `/jan`. It is a generic assistant to illustrate power of Jan. In the future, it will support additional features e.g. multi-assistant conversations

View File

@ -1,8 +1,17 @@
--- ---
title: Settings title: Settings
slug: /specs/settings
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
## Overview ## Overview

View File

@ -1,8 +1,17 @@
--- ---
title: System Monitor title: System Monitor
slug: /specs/system-monitor
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
## Overview ## Overview

View File

@ -1,5 +1,5 @@
--- ---
title: Introduction title: Overview
slug: /guides slug: /guides
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

@ -1,7 +1,18 @@
--- ---
title: Mac title: Mac
slug: /install/mac
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
# Installing Jan on MacOS # Installing Jan on MacOS
@ -22,6 +33,7 @@ jan-mac-arm64-{version}.dmg
The typical installation process taks around a minute. The typical installation process taks around a minute.
## GitHub Releases ## GitHub Releases
Jan is also available from [Jan's GitHub Releases](https://github.com/janhq/jan/releases) page, with a recommended [latest stable release](https://github.com/janhq/jan/releases/latest). Jan is also available from [Jan's GitHub Releases](https://github.com/janhq/jan/releases) page, with a recommended [latest stable release](https://github.com/janhq/jan/releases/latest).
Within the Releases' assets, you will find the following files for MacOS: Within the Releases' assets, you will find the following files for MacOS:
@ -37,10 +49,13 @@ jan-mac-arm64-{version}.zip
``` ```
## Uninstall Jan ## Uninstall Jan
As Jan is development mode, you might get stuck on a broken build As Jan is development mode, you might get stuck on a broken build
To reset your installation To reset your installation
1. Delete Jan from your `/Applications` folder 1. Delete Jan from your `/Applications` folder
2. Delete Application data 2. Delete Application data
```bash ```bash
# Newer versions # Newer versions
rm -rf /Users/$(whoami)/Library/Application\ Support/jan rm -rf /Users/$(whoami)/Library/Application\ Support/jan
@ -48,15 +63,21 @@ rm -rf /Users/$(whoami)/Library/Application\ Support/jan
# Versions 0.2.0 and older # Versions 0.2.0 and older
rm -rf /Users/$(whoami)/Library/Application\ Support/jan-electron rm -rf /Users/$(whoami)/Library/Application\ Support/jan-electron
``` ```
3. Clear Application cache 3. Clear Application cache
```bash ```bash
rm -rf /Users/$(whoami)/Library/Caches/jan* rm -rf /Users/$(whoami)/Library/Caches/jan*
``` ```
4. Use the following commands to remove any dangling backend processes: 4. Use the following commands to remove any dangling backend processes:
```bash ```bash
ps aux | grep nitro ps aux | grep nitro
``` ```
Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with: Look for processes like "nitro" and "nitro_arm_64," and kill them one by one with:
```bash ```bash
kill -9 <PID> kill -9 <PID>
``` ```
@ -64,7 +85,9 @@ kill -9 <PID>
## Common Questions ## Common Questions
### Does Jan run on Apple Silicon machines? ### Does Jan run on Apple Silicon machines?
Yes, Jan supports MacOS Arm64 builds that can run on Macs with the Apple Silicon chipsets. You can install Jan on your Apple Silicon Mac by downloading the `jan-mac-arm64-<version>.dmg` file from the [Jan's homepage](https://jan.ai/). Yes, Jan supports MacOS Arm64 builds that can run on Macs with the Apple Silicon chipsets. You can install Jan on your Apple Silicon Mac by downloading the `jan-mac-arm64-<version>.dmg` file from the [Jan's homepage](https://jan.ai/).
### Which package should I download for my Mac? ### Which package should I download for my Mac?
Jan supports both Intel and Apple Silicon Macs. To find which appropriate package to download for your Mac, please follow this official guide from Apple: [Get system information about your Mac - Apple Support](https://support.apple.com/guide/mac-help/syspr35536/mac). Jan supports both Intel and Apple Silicon Macs. To find which appropriate package to download for your Mac, please follow this official guide from Apple: [Get system information about your Mac - Apple Support](https://support.apple.com/guide/mac-help/syspr35536/mac).

View File

@ -1,7 +1,18 @@
--- ---
title: Windows title: Windows
slug: /install/windows
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
# Installing Jan on Windows # Installing Jan on Windows
@ -58,4 +69,3 @@ To remove all user data associated with Jan, you can delete the `/Jan` directory
Windows Defender may display the above warning when running the Jan Installer, as a standard security measure. Windows Defender may display the above warning when running the Jan Installer, as a standard security measure.
To proceed, select the "More info" option and select the "Run Anyway" option to continue with the installation. To proceed, select the "More info" option and select the "Run Anyway" option to continue with the installation.

View File

@ -1,7 +1,18 @@
--- ---
title: Linux title: Linux
slug: /install/linux
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
# Installing Jan on Linux # Installing Jan on Linux
@ -30,9 +41,12 @@ jan-linux-amd64-{version}.deb
``` ```
## Uninstall Jan ## Uninstall Jan
To uninstall VS Code on Linux, you should use your package manager's uninstall or remove option. For Debian/Ubuntu-based distributions, if you installed Jan via the `.deb` package, you can uninstall Jan using the following command: To uninstall VS Code on Linux, you should use your package manager's uninstall or remove option. For Debian/Ubuntu-based distributions, if you installed Jan via the `.deb` package, you can uninstall Jan using the following command:
```bash ```bash
sudo apt-get remove jan` sudo apt-get remove jan`
# where jan is the name of Jan package # where jan is the name of Jan package
``` ```
In case you wish to completely remove all user data associated with Jan after uninstallation, you can delete the user data folders located at `$HOME/.config/Jan` and ~/.jan. This will return your system to its state prior to the installation of Jan. This method can also be used to reset all settings if you are experiencing any issues with Jan. In case you wish to completely remove all user data associated with Jan after uninstallation, you can delete the user data folders located at `$HOME/.config/Jan` and ~/.jan. This will return your system to its state prior to the installation of Jan. This method can also be used to reset all settings if you are experiencing any issues with Jan.

View File

@ -1,7 +1,18 @@
--- ---
title: From Source title: From Source
slug: /install/from-source
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
# Install Jan from Source # Install Jan from Source
@ -9,20 +20,26 @@ keywords: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversation
## Installation ## Installation
### Pre-requisites ### Pre-requisites
Before proceeding with the installation of Jan from source, ensure that the following software versions are installed on your system: Before proceeding with the installation of Jan from source, ensure that the following software versions are installed on your system:
- Node.js version 20.0.0 or higher - Node.js version 20.0.0 or higher
- Yarn version 1.22.0 or higher - Yarn version 1.22.0 or higher
### Instructions ### Instructions
> **_Note:_** This instruction is tested on MacOS only. > **_Note:_** This instruction is tested on MacOS only.
1. Clone the Jan repository from GitHub 1. Clone the Jan repository from GitHub
```bash ```bash
git clone https://github.com/janhq/jan git clone https://github.com/janhq/jan
git checkout DESIRED_BRANCH git checkout DESIRED_BRANCH
cd jan cd jan
``` ```
2. Install the required dependencies using Yarn 2. Install the required dependencies using Yarn
```bash ```bash
yarn install yarn install
@ -35,13 +52,17 @@ yarn build:plugins
# Packing uikit # Packing uikit
yarn build:uikit yarn build:uikit
``` ```
3. Run development and using Jan 3. Run development and using Jan
```bash ```bash
yarn dev yarn dev
``` ```
This will start the development server and open the desktop app. During this step, you may encounter notifications about installing base plugins. Simply click `OK` and `Next` to continue. This will start the development server and open the desktop app. During this step, you may encounter notifications about installing base plugins. Simply click `OK` and `Next` to continue.
#### For production build #### For production build
Build the app for macOS M1/M2 for production and place the result in the dist folder Build the app for macOS M1/M2 for production and place the result in the dist folder
```bash ```bash

View File

@ -1,13 +1,96 @@
--- ---
title: Overview title: Installation
slug: /install
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] 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
---
TODO: Merge this in:
Getting up and running open-source AI models on your own computer with Jan is quick and easy. Jan is lightweight and can run on a variety of hardware and platform versions. Specific requirements tailored to your platform are outlined below. Getting up and running open-source AI models on your own computer with Jan is quick and easy. Jan is lightweight and can run on a variety of hardware and platform versions. Specific requirements tailored to your platform are outlined below.
## Cross platform ## Cross platform
A free, open-source alternative to OpenAI that runs on the Linux, macOS, and Windows operating systems. Please refer to the specific guides below for your platform A free, open-source alternative to OpenAI that runs on the Linux, macOS, and Windows operating systems. Please refer to the specific guides below for your platform
- [Linux](/install/linux) - [Linux](/install/linux)
- [MacOS (Mac Intel Chip and Mac Apple Silicon Chip)](/install/mac) - [MacOS (Mac Intel Chip and Mac Apple Silicon Chip)](/install/mac)
- [Windows](/install/windows) - [Windows](/install/windows)
@ -15,31 +98,41 @@ A free, open-source alternative to OpenAI that runs on the Linux, macOS, and Win
## Requirements for Jan ## Requirements for Jan
### Hardware ### Hardware
Jan is a lightweight platform designed for seamless download, storage, and execution of open-source Large Language Models (LLMs). With a small download size of less than 200 MB and a disk footprint of under 300 MB, Jan is optimized for efficiency and should run smoothly on modern hardware. Jan is a lightweight platform designed for seamless download, storage, and execution of open-source Large Language Models (LLMs). With a small download size of less than 200 MB and a disk footprint of under 300 MB, Jan is optimized for efficiency and should run smoothly on modern hardware.
To ensure optimal performance while using Jan and handling LLM models, it is recommended to meet the following system requirements: To ensure optimal performance while using Jan and handling LLM models, it is recommended to meet the following system requirements:
#### Disk space #### Disk space
- Minimum requirement - Minimum requirement
- At least 5 GB of free disk space is required to accommodate the download, storage, and management of open-source LLM models. - At least 5 GB of free disk space is required to accommodate the download, storage, and management of open-source LLM models.
- Recommended - Recommended
- For an optimal experience and to run most available open-source LLM models on Jan, it is recommended to have 10 GB of free disk space. - For an optimal experience and to run most available open-source LLM models on Jan, it is recommended to have 10 GB of free disk space.
#### Random Access Memory (RAM) and Graphics Processing Unit Video Random Access Memory (GPU VRAM) #### Random Access Memory (RAM) and Graphics Processing Unit Video Random Access Memory (GPU VRAM)
The amount of RAM on your system plays a crucial role in determining the size and complexity of LLM models you can effectively run. Jan can be utilized on traditional computers where RAM is a key resource. For enhanced performance, Jan also supports GPU acceleration, utilizing the VRAM of your graphics card. The amount of RAM on your system plays a crucial role in determining the size and complexity of LLM models you can effectively run. Jan can be utilized on traditional computers where RAM is a key resource. For enhanced performance, Jan also supports GPU acceleration, utilizing the VRAM of your graphics card.
#### Relationship between RAM and VRAM Sizes in Relation to LLM Models #### Relationship between RAM and VRAM Sizes in Relation to LLM Models
The RAM and GPU VRAM requirements are dependent on the size and complexity of the LLM models you intend to run. The following are some general guidelines to help you determine the amount of RAM or VRAM you need to run LLM models on Jan The RAM and GPU VRAM requirements are dependent on the size and complexity of the LLM models you intend to run. The following are some general guidelines to help you determine the amount of RAM or VRAM you need to run LLM models on Jan
- 8 GB of RAM: Suitable for running smaller models like 3B models or quantized 7B models - 8 GB of RAM: Suitable for running smaller models like 3B models or quantized 7B models
- 16 GB of RAM(recommended): This is considered the "minimum usable models" threshold, particularly for 7B models (e.g Mistral 7B, etc) - 16 GB of RAM(recommended): This is considered the "minimum usable models" threshold, particularly for 7B models (e.g Mistral 7B, etc)
- Beyond 16GB of RAM: Required for handling larger and more sophisticated model, such as 70B models. - Beyond 16GB of RAM: Required for handling larger and more sophisticated model, such as 70B models.
### Architecture ### Architecture
Jan is designed to run on muptiple architectures, versatility and widespread usability. The supported architectures include: Jan is designed to run on muptiple architectures, versatility and widespread usability. The supported architectures include:
#### CPU #### CPU
- x86: Jan is well-suited for systems with x86 architecture, which is commonly found in traditional desktops and laptops. It ensures smooth performance on a variety of devices using x86 processors. - x86: Jan is well-suited for systems with x86 architecture, which is commonly found in traditional desktops and laptops. It ensures smooth performance on a variety of devices using x86 processors.
- ARM: Jan is optimized to run efficiently on ARM-based systems, extending compatibility to a broad range of devices using ARM processors. - ARM: Jan is optimized to run efficiently on ARM-based systems, extending compatibility to a broad range of devices using ARM processors.
#### GPU #### GPU
- NVIDIA: Jan optimizes the computational capabilities of NVIDIA GPUs, achieving efficiency through the utilization of llama.cpp. This strategic integration enhances the performance of Jan, particularly in resource-intensive Language Model (LLM) tasks. Users can expect accelerated processing and improved responsiveness when leveraging the processing capabilities inherent in NVIDIA GPUs. - NVIDIA: Jan optimizes the computational capabilities of NVIDIA GPUs, achieving efficiency through the utilization of llama.cpp. This strategic integration enhances the performance of Jan, particularly in resource-intensive Language Model (LLM) tasks. Users can expect accelerated processing and improved responsiveness when leveraging the processing capabilities inherent in NVIDIA GPUs.
- AMD: Users with AMD GPUs can seamlessly integrate Jan's GPU acceleration, offering a comprehensive solution for diverse hardware configurations and preferences. - AMD: Users with AMD GPUs can seamlessly integrate Jan's GPU acceleration, offering a comprehensive solution for diverse hardware configurations and preferences.
- ARM64 Mac: Jan seamlessly supports ARM64 architecture on Mac systems, leveraging Metal for efficient GPU operations. This ensures a smooth and efficient experience for users with Apple Silicon Chips, utilizing the power of Metal for optimal performance on ARM64 Mac devices. - ARM64 Mac: Jan seamlessly supports ARM64 architecture on Mac systems, leveraging Metal for efficient GPU operations. This ensures a smooth and efficient experience for users with Apple Silicon Chips, utilizing the power of Metal for optimal performance on ARM64 Mac devices.

View File

@ -0,0 +1,3 @@
---
title: Starting a Thread
---

View File

@ -0,0 +1,3 @@
---
title: Uploading docs
---

View File

@ -0,0 +1,3 @@
---
title: Uploading Images
---

View File

@ -0,0 +1,3 @@
---
title: Manage Chat History
---

View File

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

View File

@ -0,0 +1,15 @@
---
title: Install Models from the Hub
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,
]
---

View File

@ -1,17 +1,5 @@
--- ---
title: Model Management title: Import Models Manually
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 */} {/* Imports */}

View File

@ -0,0 +1,3 @@
---
title: Customize Model Defaults
---

View File

@ -0,0 +1,3 @@
---
title: Package & Publish Models
---

View File

@ -0,0 +1,3 @@
---
title: Using Models
---

View File

@ -1,7 +1,17 @@
--- ---
title: API Server title: Connect to Server
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: [Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model ] keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
--- ---
:::warning :::warning

View File

@ -0,0 +1,3 @@
---
title: Using the Local Server
---

View File

@ -0,0 +1,3 @@
---
title: Import Extensions
---

View File

@ -0,0 +1,5 @@
---
title: Extension Settings
---
TODO: how to configure settings for extensions

View File

@ -0,0 +1,3 @@
---
title: Using Extensions
---

View File

@ -1,81 +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,
]
---
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,8 +0,0 @@
---
title: "Fine-tuning"
slug: /specs/finetuning
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 ]
---
Todo: @hiro

View File

@ -236,8 +236,8 @@ const config = {
{ {
type: "docSidebar", type: "docSidebar",
position: "left", position: "left",
sidebarId: "specsSidebar", sidebarId: "docsSidebar",
label: "Specs", label: "Docs",
}, },
// Navbar right // Navbar right
{ {

View File

@ -15,84 +15,25 @@
const sidebars = { const sidebars = {
guidesSidebar: [ guidesSidebar: [
{ {
type: "category", type: "autogenerated",
label: "Introduction", dirName: "guides",
link: { type: "doc", id: "guides/introduction" },
collapsible: true,
collapsed: true,
items: ["guides/quickstart"],
},
{
type: "category",
label: "Installation",
link: { type: "doc", id: "install/overview" },
collapsible: true,
collapsed: true,
items: [
"install/windows",
"install/mac",
"install/linux",
"install/from-source",
],
},
{
type: "category",
label: "Using Jan",
collapsible: true,
collapsed: true,
items: ["guides/models", "guides/server"],
}, },
], ],
developerSidebar: [ developerSidebar: [
{
type: "autogenerated",
dirName: "developer",
},
],
docsSidebar: [
{ {
type: "autogenerated", type: "autogenerated",
dirName: "docs", dirName: "docs",
}, },
], ],
specsSidebar: [
{
type: "category",
label: "Overview",
collapsible: true,
collapsed: false,
items: ["specs/architecture", "specs/file-based", "specs/user-interface"],
},
{
type: "category",
label: "Product Specs",
collapsible: true,
collapsed: false,
items: [
"specs/product/chat",
"specs/product/hub",
"specs/product/system-monitor",
"specs/product/settings",
],
},
{
type: "category",
label: "Engineering Specs",
collapsible: true,
collapsed: false,
items: [
"specs/engineering/chats",
"specs/engineering/models",
"specs/engineering/engine",
"specs/engineering/threads",
"specs/engineering/messages",
"specs/engineering/assistants",
// "specs/engineering/files",
// "specs/engineering/jan",
// "specs/engineering/fine-tuning",
// "specs/engineering/settings",
// "specs/engineering/prompts",
],
},
],
communitySidebar: [ communitySidebar: [
"community/community", "community/community",
{ {