From ba02b5898d06d53d34baeb9203fae75ce8cc99fb Mon Sep 17 00:00:00 2001 From: Arista Indrajaya Date: Tue, 12 Mar 2024 16:42:02 +0700 Subject: [PATCH 1/9] docs: Update developer build engine content --- .../03-build-engine/01-your-first-engine.md | 54 ++++++++++++++++-- .../03-build-engine/02-engine-anatomy.md | 16 +++++- .../03-build-engine/asset/plugin.png | Bin 0 -> 110515 bytes 3 files changed, 61 insertions(+), 9 deletions(-) create mode 100644 docs/docs/developer/03-build-engine/asset/plugin.png diff --git a/docs/docs/developer/03-build-engine/01-your-first-engine.md b/docs/docs/developer/03-build-engine/01-your-first-engine.md index 0670d63c4..2ec645339 100644 --- a/docs/docs/developer/03-build-engine/01-your-first-engine.md +++ b/docs/docs/developer/03-build-engine/01-your-first-engine.md @@ -1,7 +1,7 @@ --- -title: Your First Engine -slug: /developer/build-engine/your-first-engine/ -description: A quick start on how to build your first engine +title: Build Your First Engine +slug: /developer/build-engine/build-your-first-engine/ +description: A quick start on how to build your first engine. keywords: [ Jan AI, @@ -17,8 +17,50 @@ keywords: ] --- -:::caution -This is currently under development. +To quickly build your own inference engine using Jan's template, follow the steps below: + +## Step 1: Clone or Download the Jan Extension Template +1. Navigate to the Extension Template repository here: https://github.com/janhq/extension-template. +2. Clone or download the repository. + +## Step 2: Setup the Plugin Metadata +1. Navigate to the `package.json` file. +2. Update your plugin metadata such as: + - Name + - Main Entry + - Description + - Version + +## Step 3: Update the Engine Code +You can update the plugin source code provided in the extension template in `/src` folder with your own code. The source code will be run when your plugin extension functions are invoked. The source code will also tell how your plugin behaves when added to Jan. To update, follow the steps below: +1. Navigate to the `/src` folder. +2. Select the `index.ts` file. +3. Customize the code to your needs. + +:::note +Most functions in Jan Plugin Extensions operate asynchronously. ::: -A quickstart on how to integrate tensorrt llm \ No newline at end of file +## Step 4: Setup the Engine +1. Navigate to your engine folder. +2. Install the dependencies using the following command: + +```bash +npm install +``` +3. Compile the source code using the following command: +```bash +npm run build +``` + +## Step 5: Install the Engine +1. Navigate to your plugin folder. +2. Bundle the Typescript files into a single bundled assets `tgz` file by using the following command: + +```bash +npm run bundle +``` +3. Open your Jan application. +4. Click **Settings** > **Extensions**. +5. Click the **Select** button next to the **Manual Import** section. +6. Select the `.tgz` file that you have generated. diff --git a/docs/docs/developer/03-build-engine/02-engine-anatomy.md b/docs/docs/developer/03-build-engine/02-engine-anatomy.md index 1e7f559da..5d26fdff1 100644 --- a/docs/docs/developer/03-build-engine/02-engine-anatomy.md +++ b/docs/docs/developer/03-build-engine/02-engine-anatomy.md @@ -17,6 +17,16 @@ keywords: ] --- -:::caution -This is currently under development. -::: +![plugin-diagram](./asset/plugin.png) + +The diagram above illustrates the class hierarchy and interface implementation for an extension. The plugin that you have created has two important aspects: +- `BaseExtension` +- `InferenceInterface` +### BaseExtension +This class acts as a base that defines the properties and methods for your engine. These methods include: +- `type`: Defines the type of the extension. +- `onLoad`: A method that will be called when the extension is loaded or registered into the Jan application. +- `onUnload`: A method for cleanup tasks when the extension is being removed or unloaded from the Jan application. +### InferenceInterface +This interface defines the methods that must be provided to implement your engine's interface. +- `inference(req) -> resp`: A method responsible for handling inference operations. It takes a request `req` as input and returns a response `resp`. This method's implementation should contain the logic for processing input data and producing an inference result. \ No newline at end of file diff --git a/docs/docs/developer/03-build-engine/asset/plugin.png b/docs/docs/developer/03-build-engine/asset/plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..f5f032e0db8e8e02653afdb9ca355fc1f101665e GIT binary patch literal 110515 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⪻Fr;hcVsDvxwrpiHC-s4#ExgB`(mj61!smO^>_DwzH8#)ouqnv>bQ} zY|?%b zXZEd|5$jpuJ&AhxU&}8F$=SmoMwa|VlZy0;!!;G}42wwhZrb}=+gv)bJ96%o;Hu!h z`TVCooR#PzU!~`6bgXfqo%D6wbGf(UnHUy7SLvhQkE`JfGcp!S7FN#C%lA zVQhhHb!GM8CrjYtt%Ix)ge`Yq3P41~-LDt7Eq(^GS;v+ZY}1}>wQgog_{f@WhNB}6 z58ihwA2a7iQ8hZaT≪kDE|?(l*U6(Y`yQGTQ4ssN?|3!a@te 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 Dk{qn% literal 0 HcmV?d00001 From 120fe21b1024f1b5fbc3d320a2a2077d5d32e704 Mon Sep 17 00:00:00 2001 From: Arista Indrajaya Date: Tue, 12 Mar 2024 16:42:30 +0700 Subject: [PATCH 2/9] docs: update manual import content --- docs/docs/guides/models/import-models.mdx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/docs/docs/guides/models/import-models.mdx b/docs/docs/guides/models/import-models.mdx index 116c63fb7..9ed8953c7 100644 --- a/docs/docs/guides/models/import-models.mdx +++ b/docs/docs/guides/models/import-models.mdx @@ -1,6 +1,5 @@ --- title: Manual Import -slug: /guides/using-models/import-manually/ sidebar_position: 3 description: A step-by-step guide on how to perform manual import feature. keywords: @@ -25,6 +24,23 @@ import janModel from './assets/jan-model-hub.png'; This guide will show you how to perform manual import. In this guide, we are using a GGUF model from [HuggingFace](https://huggingface.co/) and our latest model, [Trinity](https://huggingface.co/janhq/trinity-v1-GGUF), as an example. +## Newer versions - nightly versions and v0.4.8+ + +Starting with version 0.4.8, Jan has introduced the capability to import models using a UI drag-and-drop method. This allows you to import models directly into the Jan application UI by dragging the `.GGUF` file from your directory into the Jan application. + +### 1. Get the Model +Download the model from HuggingFace in the `.GGUF` format. + +### 2. Import the Model +1. Open your Jan application. +2. Click the **Import Model** button. +3. Open your downloaded model. +4. Drag the `.GGUF` file from your directory into the Jan **Import Model** window. + +### 3. Done! + +If your model doesn't show up in the **Model Selector** in conversations, **restart the app** or contact us via our [Discord community](https://discord.gg/Dt7MxDyNNZ). + ## Newer versions - nightly versions and v0.4.7+ Starting from version 0.4.7, Jan has introduced the capability to import models using an absolute file path. It allows you to import models from any directory on your computer. From cac079bfd462c18adc7a153b0d723c8b1c3019a1 Mon Sep 17 00:00:00 2001 From: Arista Indrajaya Date: Tue, 12 Mar 2024 16:42:44 +0700 Subject: [PATCH 3/9] docs: update http proxy content --- docs/docs/guides/advanced-settings/http-proxy.mdx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/docs/guides/advanced-settings/http-proxy.mdx b/docs/docs/guides/advanced-settings/http-proxy.mdx index 23f357e8b..7b2de339c 100644 --- a/docs/docs/guides/advanced-settings/http-proxy.mdx +++ b/docs/docs/guides/advanced-settings/http-proxy.mdx @@ -23,7 +23,8 @@ HTTPS Proxy encrypts data between your browser and the internet, making it hard :::note -When configuring Jan using an HTTPS proxy, the speed of the downloading model may be affected due to the encryption and decryption process. It also depends on the networking of the cloud service provider. +- When configuring Jan using an HTTPS proxy, the speed of the downloading model may be affected due to the encryption and decryption process. It also depends on the networking of the cloud service provider. +- HTTPS Proxy does not affect the remote model usage. ::: From f2008baa5b8d45b78e8512833f0ecbbe4bf9b1d1 Mon Sep 17 00:00:00 2001 From: Arista Indrajaya Date: Tue, 12 Mar 2024 16:50:11 +0700 Subject: [PATCH 4/9] docs: Update the sidebars.js to input advanced settings menu --- docs/sidebars.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/sidebars.js b/docs/sidebars.js index 4c45cadbe..d8e071891 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -185,6 +185,18 @@ const sidebars = { collapsible: false, className: "head_Menu", items: [ + { + type: "category", + label: "Advanced Settings", + className: "head_SubMenu", + link: { + type: 'doc', + id: "guides/advanced-settings/advanced-settings", + }, + items: [ + "guides/advanced-settings/http-proxy", + ] + }, { type: "category", label: "Advanced Model Setup", From 6017ab1fd821e37e6a40db5c39da4607cb1cd7de Mon Sep 17 00:00:00 2001 From: Arista Indrajaya Date: Wed, 13 Mar 2024 15:57:08 +0700 Subject: [PATCH 5/9] docs: Update API reference documentation to incorporate scalar implementation This commit introduces enhancements to the API reference documentation by implementing a scalar feature. The changes encompass both the user interface (UI) and functionality aspects, ensuring better clarity and usability for users interacting with the API documentation. --- docs/docusaurus.config.js | 16 ++++++++++++++-- docs/package.json | 1 + 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 43334c988..f414c4b26 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -113,7 +113,19 @@ const config = { ], //To input custom Plugin - path.resolve(__dirname, 'plugins', 'changelog-plugin'), + // path.resolve(__dirname, 'plugins', 'changelog-plugin'), + [ + '@scalar/docusaurus', + { + label: '', + route: '/api-reference', + configuration: { + spec: { + url: 'https://aindrajaya.github.io/openapi-spec/openapi.json', + }, + }, + } + ], ], // The classic preset will relay each option entry to the respective sub plugin/theme. @@ -160,7 +172,7 @@ const config = { specs: [ { spec: "openapi/jan.yaml", // can be local file, url, or parsed json object - route: "/api-reference/", // path where to render docs + route: "/api-reference-old/", // path where to render docs }, ], theme: { diff --git a/docs/package.json b/docs/package.json index 2764786ba..7967a9bb9 100644 --- a/docs/package.json +++ b/docs/package.json @@ -26,6 +26,7 @@ "@heroicons/react": "^2.0.18", "@mdx-js/react": "^3.0.0", "@redocly/cli": "^1.4.1", + "@scalar/docusaurus": "^0.1.1", "autoprefixer": "^10.4.16", "axios": "^1.5.1", "clsx": "^1.2.1", From 5663d3176ba849b484242a3c46ff479c0c913dad Mon Sep 17 00:00:00 2001 From: Arista Indrajaya Date: Wed, 13 Mar 2024 15:57:52 +0700 Subject: [PATCH 6/9] docs: Update the engine anatomy to under development --- .../03-build-engine/02-engine-anatomy.md | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/docs/docs/developer/03-build-engine/02-engine-anatomy.md b/docs/docs/developer/03-build-engine/02-engine-anatomy.md index 5d26fdff1..2f8c69a04 100644 --- a/docs/docs/developer/03-build-engine/02-engine-anatomy.md +++ b/docs/docs/developer/03-build-engine/02-engine-anatomy.md @@ -17,16 +17,6 @@ keywords: ] --- -![plugin-diagram](./asset/plugin.png) - -The diagram above illustrates the class hierarchy and interface implementation for an extension. The plugin that you have created has two important aspects: -- `BaseExtension` -- `InferenceInterface` -### BaseExtension -This class acts as a base that defines the properties and methods for your engine. These methods include: -- `type`: Defines the type of the extension. -- `onLoad`: A method that will be called when the extension is loaded or registered into the Jan application. -- `onUnload`: A method for cleanup tasks when the extension is being removed or unloaded from the Jan application. -### InferenceInterface -This interface defines the methods that must be provided to implement your engine's interface. -- `inference(req) -> resp`: A method responsible for handling inference operations. It takes a request `req` as input and returns a response `resp`. This method's implementation should contain the logic for processing input data and producing an inference result. \ No newline at end of file +:::caution +This is currently under development. +::: \ No newline at end of file From 29587ab9906a2cca29d3c6198e0bd5987652b904 Mon Sep 17 00:00:00 2001 From: Arista Indrajaya Date: Wed, 13 Mar 2024 15:58:05 +0700 Subject: [PATCH 7/9] docs: Update the installation section, particularly the macOS installation instructions using Homebrew (Brew). --- docs/docs/guides/install.mdx | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/docs/guides/install.mdx b/docs/docs/guides/install.mdx index 782f465ce..c8dcbf3c3 100644 --- a/docs/docs/guides/install.mdx +++ b/docs/docs/guides/install.mdx @@ -24,7 +24,10 @@ import installImageURL from './assets/jan-ai-download.png'; ### Pre-requisites - Ensure that your MacOS version is 13 or higher to run Jan. + Before installing Jan, ensure : + - You have a Mac with an Apple Silicon Processor. + - Homebrew and its dependencies are installed. (for Installing Jan with Homebrew Package) + - Your macOS version is 10.15 or higher. ### Stable Releases @@ -42,9 +45,16 @@ import installImageURL from './assets/jan-ai-download.png'; To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode** + ### Install with Homebrew + Install Jan with the following Homebrew command: + + ```brew + brew install --cask jan + ``` + :::warning -If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors. +Homebrew package installation is currently limited to **Apple Silicon Macs**, with upcoming support for Windows and Linux. ::: From 2c98ae92da33656186bc6560c9f77c99fee2e49c Mon Sep 17 00:00:00 2001 From: Arista Indrajaya Date: Thu, 14 Mar 2024 08:58:07 +0700 Subject: [PATCH 8/9] Revert "docs: Update API reference documentation to incorporate scalar implementation" This reverts commit 6017ab1fd821e37e6a40db5c39da4607cb1cd7de. --- docs/docusaurus.config.js | 16 ++-------------- docs/package.json | 1 - 2 files changed, 2 insertions(+), 15 deletions(-) diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index f414c4b26..43334c988 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -113,19 +113,7 @@ const config = { ], //To input custom Plugin - // path.resolve(__dirname, 'plugins', 'changelog-plugin'), - [ - '@scalar/docusaurus', - { - label: '', - route: '/api-reference', - configuration: { - spec: { - url: 'https://aindrajaya.github.io/openapi-spec/openapi.json', - }, - }, - } - ], + path.resolve(__dirname, 'plugins', 'changelog-plugin'), ], // The classic preset will relay each option entry to the respective sub plugin/theme. @@ -172,7 +160,7 @@ const config = { specs: [ { spec: "openapi/jan.yaml", // can be local file, url, or parsed json object - route: "/api-reference-old/", // path where to render docs + route: "/api-reference/", // path where to render docs }, ], theme: { diff --git a/docs/package.json b/docs/package.json index 7967a9bb9..2764786ba 100644 --- a/docs/package.json +++ b/docs/package.json @@ -26,7 +26,6 @@ "@heroicons/react": "^2.0.18", "@mdx-js/react": "^3.0.0", "@redocly/cli": "^1.4.1", - "@scalar/docusaurus": "^0.1.1", "autoprefixer": "^10.4.16", "axios": "^1.5.1", "clsx": "^1.2.1", From b0920e4150241515d3aac798391e0766359c3075 Mon Sep 17 00:00:00 2001 From: hieu-jan <150573299+hieu-jan@users.noreply.github.com> Date: Sun, 17 Mar 2024 07:13:18 +0900 Subject: [PATCH 9/9] docs: revert original content --- .../03-build-engine/01-your-first-engine.md | 54 +++---------------- 1 file changed, 6 insertions(+), 48 deletions(-) diff --git a/docs/docs/developer/03-build-engine/01-your-first-engine.md b/docs/docs/developer/03-build-engine/01-your-first-engine.md index 2ec645339..0670d63c4 100644 --- a/docs/docs/developer/03-build-engine/01-your-first-engine.md +++ b/docs/docs/developer/03-build-engine/01-your-first-engine.md @@ -1,7 +1,7 @@ --- -title: Build Your First Engine -slug: /developer/build-engine/build-your-first-engine/ -description: A quick start on how to build your first engine. +title: Your First Engine +slug: /developer/build-engine/your-first-engine/ +description: A quick start on how to build your first engine keywords: [ Jan AI, @@ -17,50 +17,8 @@ keywords: ] --- -To quickly build your own inference engine using Jan's template, follow the steps below: - -## Step 1: Clone or Download the Jan Extension Template -1. Navigate to the Extension Template repository here: https://github.com/janhq/extension-template. -2. Clone or download the repository. - -## Step 2: Setup the Plugin Metadata -1. Navigate to the `package.json` file. -2. Update your plugin metadata such as: - - Name - - Main Entry - - Description - - Version - -## Step 3: Update the Engine Code -You can update the plugin source code provided in the extension template in `/src` folder with your own code. The source code will be run when your plugin extension functions are invoked. The source code will also tell how your plugin behaves when added to Jan. To update, follow the steps below: -1. Navigate to the `/src` folder. -2. Select the `index.ts` file. -3. Customize the code to your needs. - -:::note -Most functions in Jan Plugin Extensions operate asynchronously. +:::caution +This is currently under development. ::: -## Step 4: Setup the Engine -1. Navigate to your engine folder. -2. Install the dependencies using the following command: - -```bash -npm install -``` -3. Compile the source code using the following command: -```bash -npm run build -``` - -## Step 5: Install the Engine -1. Navigate to your plugin folder. -2. Bundle the Typescript files into a single bundled assets `tgz` file by using the following command: - -```bash -npm run bundle -``` -3. Open your Jan application. -4. Click **Settings** > **Extensions**. -5. Click the **Select** button next to the **Manual Import** section. -6. Select the `.tgz` file that you have generated. +A quickstart on how to integrate tensorrt llm \ No newline at end of file