From 04a69c5010c3e355c4293f2cd792f3eeaaca6598 Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Sun, 19 Nov 2023 02:18:06 +0700 Subject: [PATCH 01/20] Cleanup docs markdown template --- docs/docs/new/architecture.md | 10 +- docs/docs/nitro/architecture.md | 32 ++++ docs/docs/nitro/installation.mdx | 149 +++++++++++++++ docs/docs/nitro/overview.md | 47 +++++ docs/docs/nitro/using-nitro.md | 71 ++++++++ docs/docusaurus.config.js | 9 +- docs/src/css/custom_toc.css | 5 - docs/src/pages/index.js | 144 ++++----------- docs/src/styles/components.scss | 18 -- docs/src/styles/components/base.scss | 47 +++++ .../styles/{ => components}/typography.scss | 0 docs/src/styles/main.scss | 12 +- docs/src/styles/tweaks.scss | 170 +++++++++--------- docs/src/styles/tweaks/breadcrumb.scss | 18 ++ docs/src/styles/tweaks/code-block.scss | 7 + docs/src/styles/tweaks/markdown.scss | 39 ++++ docs/src/styles/tweaks/navbar.scss | 27 +++ docs/src/styles/tweaks/sidebar.scss | 24 +++ docs/src/theme/Layout/index.js | 9 +- docs/static/img/{logo.svg => logos/nitro.svg} | 0 docs/tailwind.config.js | 6 +- 21 files changed, 597 insertions(+), 247 deletions(-) create mode 100644 docs/docs/nitro/architecture.md create mode 100644 docs/docs/nitro/installation.mdx create mode 100644 docs/docs/nitro/overview.md create mode 100644 docs/docs/nitro/using-nitro.md delete mode 100644 docs/src/css/custom_toc.css delete mode 100644 docs/src/styles/components.scss create mode 100644 docs/src/styles/components/base.scss rename docs/src/styles/{ => components}/typography.scss (100%) create mode 100644 docs/src/styles/tweaks/breadcrumb.scss create mode 100644 docs/src/styles/tweaks/code-block.scss create mode 100644 docs/src/styles/tweaks/markdown.scss create mode 100644 docs/src/styles/tweaks/navbar.scss create mode 100644 docs/src/styles/tweaks/sidebar.scss rename docs/static/img/{logo.svg => logos/nitro.svg} (100%) diff --git a/docs/docs/new/architecture.md b/docs/docs/new/architecture.md index 510b4e103..01acb8093 100644 --- a/docs/docs/new/architecture.md +++ b/docs/docs/new/architecture.md @@ -7,6 +7,7 @@ title: Architecture ### Details element example ## Key Concepts + ## Inference Server An inference server is a type of server designed to process requests for running large language models and to return predictions. This server acts as the backbone for AI-powered applications, providing real-time execution of models to analyze data and make decisions. @@ -24,15 +25,6 @@ Parallel processing involves executing multiple computations simultaneously. For Drogon is an HTTP application framework based on C++14/17, designed for its speed and simplicity. Utilizing a non-blocking I/O and event-driven architecture, Drogon manages HTTP requests efficiently for high-performance and scalable applications. - **Event Loop**: Drogon uses an event loop to wait for and dispatch events or messages within a program. This allows for handling many tasks asynchronously, without relying on multi-threading. - - **Threads**: While the event loop allows for efficient task management, Drogon also employs threads to handle parallel operations. These "drogon threads" process multiple tasks concurrently. - - **Asynchronous Operations**: The framework supports non-blocking operations, permitting the server to continue processing other tasks while awaiting responses from databases or external services. - - **Scalability**: Drogon's architecture is built to scale, capable of managing numerous connections at once, suitable for applications with high traffic loads. - - - -We should only have 1 document -- [ ] Refactor system/architecture -- [ ] Refactor system/key-concepts \ No newline at end of file diff --git a/docs/docs/nitro/architecture.md b/docs/docs/nitro/architecture.md new file mode 100644 index 000000000..0a69898ed --- /dev/null +++ b/docs/docs/nitro/architecture.md @@ -0,0 +1,32 @@ +--- +title: Architecture +--- + +:::info +This document is being updated. Please stay tuned. +::: + +![Nitro Architecture](img/architecture.drawio.png) + +### Components + +- **Nitro CLI**: A command-line interface that manages model conversion and compilation for deployment. + + - **Converter**: Transforms the model into a compatible format (GGUF) for the Nitro system. + - **Compiler**: Optimizes the converted model for efficient execution. + +- **TensorRT - LLM**: A specialized component for large language models using NVIDIA's TensorRT optimization. + +- **Triton Inference Server**: Serves the optimized model, facilitating scalable and efficient inference requests via gRPC. + +- **Nitro.cpp**: The C++ implementation handling the deployment and interfacing of the models. + + - **Adapters**: + - **llama.cpp**: + - **Triton LMDeploy**:. + - **Inference File Server**: Manages files necessary for inference operations. + - **Cache**: Stores temporary data to improve performance. + - **Apps**: + - **Interface**: + - **JanAPI**: + - **OpenAI Compatible**: Ensures compatibility with OpenAI standards for ease of integration. diff --git a/docs/docs/nitro/installation.mdx b/docs/docs/nitro/installation.mdx new file mode 100644 index 000000000..a95acf28b --- /dev/null +++ b/docs/docs/nitro/installation.mdx @@ -0,0 +1,149 @@ +import Tabs from "@theme/Tabs"; +import TabItem from "@theme/TabItem"; + +# Installation + +## How to install + +This guide provides step-by-step instructions for installing the software on various operating systems. Please follow the steps that correspond to your system. + +### Step 1: Install dependencies + +First, you need to install the necessary dependencies. + + + +

Open the terminal, navigate to the project directory, and run:

+
+      ./install_deps.sh
+    
+
+ +

+ Open Command Prompt as Administrator, navigate to the project directory, + and execute: +

+
+      
+        cmake -S ./nitro_deps -B ./build_deps/nitro_deps
+        
+ cmake --build ./build_deps/nitro_deps --config Release +
+
+
+
+ +A new folder named `build_deps` will be created. + +### Step 2: Generate Build Files + +You will now generate the build files needed to compile the software. + + + +

In the terminal, run:

+
+      
+        mkdir build && cd build
+        
+ cmake -DLLAMA_METAL=OFF .. +
+
+
+ +

In the terminal, run:

+
+      
+        mkdir build && cd build
+        
+ cmake -DLLAMA_CUBLAS=ON .. +
+
+
+ +

In the terminal, run:

+
+      
+        mkdir build && cd build
+        
+ cmake .. +
+
+
+ +

In the terminal (or Command Prompt for Windows), run:

+
+      
+        mkdir build && cd build
+        
+ cmake .. +
+
+
+
+ +### Step 3: Build the Application + +Now it's time to compile the software. + + + +

Open the terminal and enter:

+
+      make -j $(sysctl -n hw.physicalcpu)
+    
+
+ +

Open the terminal and enter:

+
+      make -j $(nproc)
+    
+
+ +

In Command Prompt, run:

+
+      cmake --build . --config Release
+    
+
+
+ +### Step 4: Run the Application + +To start the application: + + + +

In the terminal, navigate to the build directory and run:

+
+      ./nitro
+    
+
+ +

In the terminal, navigate to the build directory and run:

+
+      ./nitro
+    
+
+ +

+ In Command Prompt, navigate to the Release directory within the build + folder and execute: +

+
+      
+        copy ..\..\build_deps\_install\bin\zlib.dll .
+ nitro.exe +
+
+
+
+ +### Verification: + +To verify if the build was successful, open your web browser and go to: + +``` +localhost:8080/test +``` + +You should see a confirmation page if the installation was successful. diff --git a/docs/docs/nitro/overview.md b/docs/docs/nitro/overview.md new file mode 100644 index 000000000..80e8b3b09 --- /dev/null +++ b/docs/docs/nitro/overview.md @@ -0,0 +1,47 @@ +--- +title: Introduction +--- + +Nitro, is the lightweight inference engine that powers Jan. Nitro is written in C++, optimized for edge deployment. + +⚡ Explore Nitro's codebase: [GitHub](https://github.com/janhq/nitro) + +## Dependencies and Acknowledgements: + +- [llama.cpp](https://github.com/ggerganov/llama.cpp): Nitro wraps Llama.cpp, which runs Llama models in C++ +- [drogon](https://github.com/drogonframework/drogon): Nitro runs Drogon, which is a fast, C++17/20 HTTP application framework. +- (Coming soon) tensorrt-llm support. + +## Features + +In addition to the above features, Nitro also provides: + +- OpenAI compatibility +- HTTP interface with no bindings needed +- Runs as a separate process, not interfering with main app processes +- Multi-threaded server supporting concurrent users +- 1-click install +- No hardware dedendencies +- Ships as a small binary (~3mb compressed on average) +- Runs on Windows, MacOS, and Linux +- Compatible with arm64, x86, and NVIDIA GPUs + +## HTTP Interface + +Nitro offers a straightforward HTTP interface. With compatibility for multiple standard APIs, including OpenAI formats. + +```bash +curl --location 'http://localhost:3928/inferences/llamacpp/chat_completion' \ + --header 'Content-Type: application/json' \ + --header 'Accept: text/event-stream' \ + --header 'Access-Control-Allow-Origin: *' \ + --data '{ + "messages": [ + {"content": "Hello there 👋", "role": "assistant"}, + {"content": "Can you write a long story", "role": "user"} + ], + "stream": true, + "model": "gpt-3.5-turbo", + "max_tokens": 2000 + }' +``` diff --git a/docs/docs/nitro/using-nitro.md b/docs/docs/nitro/using-nitro.md new file mode 100644 index 000000000..038a8d87c --- /dev/null +++ b/docs/docs/nitro/using-nitro.md @@ -0,0 +1,71 @@ +--- +title: Quick start +--- + +## Step 1: Download Nitro + +To use Nitro, download the released binaries from the release page below: + +🔗 [Download Nitro](https://github.com/janhq/nitro/releases) + +After downloading the release, double-click on the Nitro binary. + +## Step 2: Download a Model + +Download a llama model to try running the llama C++ integration. You can find a "GGUF" model on The Bloke's page below: + +🔗 [Download Model](https://huggingface.co/TheBloke) + +## Step 3: Run Nitro + +Double-click on Nitro to run it. After downloading your model, make sure it's saved to a specific path. Then, make an API call to load your model into Nitro. + +```bash +curl -X POST 'http://localhost:3928/inferences/llamacpp/loadmodel' \ + -H 'Content-Type: application/json' \ + -d '{ + "llama_model_path": "/path/to/your_model.gguf", + "ctx_len": 2048, + "ngl": 100, + "embedding": true, + "n_parallel": 4, + "pre_prompt": "A chat between a curious user and an artificial intelligence", + "user_prompt": "USER: ", + "ai_prompt": "ASSISTANT: " + }' +``` + +Configure your system by setting the following parameters in your `jsonBody`. The table below outlines each parameter and its description: + +| Parameter | Type | Description | +| ------------------ | ------- | ----------------------------------------------------------------------- | +| `llama_model_path` | String | The file path to the LLaMA model. | +| `ngl` | Integer | The number of GPU layers to use. | +| `ctx_len` | Integer | The context length for the model operations. | +| `embedding` | Boolean | Whether to use embedding in the model. | +| `n_parallel` | Integer | The number of parallel operations. Uses Drogon thread count if not set. | +| `cont_batching` | Boolean | Whether to use continuous batching. | +| `user_prompt` | String | The prompt to use for the user. | +| `ai_prompt` | String | The prompt to use for the AI assistant. | +| `system_prompt` | String | The prompt to use for system rules. | +| `pre_prompt` | String | The prompt to use for internal configuration. | + +## Step 4: Nitro Inference + +```bash +curl --location 'http://localhost:3928/inferences/llamacpp/chat_completion' \ + --header 'Content-Type: application/json' \ + --header 'Accept: text/event-stream' \ + --header 'Access-Control-Allow-Origin: *' \ + --data '{ + "messages": [ + {"content": "Hello there 👋", "role": "assistant"}, + {"content": "Can you write a long story", "role": "user"} + ], + "stream": true, + "model": "gpt-3.5-turbo", + "max_tokens": 2000 + }' +``` + +Nitro server is compatible with the OpenAI format, so you can expect the same output as the OpenAI ChatGPT API. diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index b4fe10f5d..716a06b94 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -3,8 +3,7 @@ require("dotenv").config(); -const lightCodeTheme = require("prism-react-renderer/themes/github"); -const darkCodeTheme = require("prism-react-renderer/themes/dracula"); +const codeTheme = require("prism-react-renderer/themes/duotoneDark"); /** @type {import('@docusaurus/types').Config} */ const config = { @@ -129,7 +128,7 @@ const config = { title: "Nitro", logo: { alt: "Nitro Logo", - src: "img/logo.svg", + src: "img/logos/nitro.svg", }, items: [ // Navbar left @@ -161,8 +160,8 @@ const config = { ], }, prism: { - theme: lightCodeTheme, - darkTheme: darkCodeTheme, + theme: codeTheme, + additionalLanguages: ["python"], }, colorMode: { diff --git a/docs/src/css/custom_toc.css b/docs/src/css/custom_toc.css deleted file mode 100644 index caa5d1982..000000000 --- a/docs/src/css/custom_toc.css +++ /dev/null @@ -1,5 +0,0 @@ -.custom-toc-title { - font-weight: bold; - margin-bottom: 16px; - margin-top: -20px; - } \ No newline at end of file diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js index 4984dd58c..878a03b58 100644 --- a/docs/src/pages/index.js +++ b/docs/src/pages/index.js @@ -18,123 +18,45 @@ import { import ThemedImage from "@theme/ThemedImage"; -const features = [ - { - name: "Personal AI that runs on your computer", - desc: "Jan runs directly on your local machine, offering privacy, convenience and customizability.", - icon: ComputerDesktopIcon, - }, - { - name: "Private and offline, your data never leaves your machine", - desc: "Your conversations and data are with an AI that runs on your computer, where only you have access.", - icon: ShieldCheckIcon, - }, - { - name: "No subscription fees, the AI runs on your computer", - desc: "Say goodbye to monthly subscriptions or usage-based APIs. Jan runs 100% free on your own hardware.", - icon: CubeTransparentIcon, - }, - { - name: "Extendable via App and Plugin framework", - desc: "Jan has a versatile app and plugin framework, allowing you to customize it to your needs.", - icon: FolderPlusIcon, - }, -]; +// const features = [ +// { +// name: "Personal AI that runs on your computer", +// desc: "Jan runs directly on your local machine, offering privacy, convenience and customizability.", +// icon: ComputerDesktopIcon, +// }, +// { +// name: "Private and offline, your data never leaves your machine", +// desc: "Your conversations and data are with an AI that runs on your computer, where only you have access.", +// icon: ShieldCheckIcon, +// }, +// { +// name: "No subscription fees, the AI runs on your computer", +// desc: "Say goodbye to monthly subscriptions or usage-based APIs. Jan runs 100% free on your own hardware.", +// icon: CubeTransparentIcon, +// }, +// { +// name: "Extendable via App and Plugin framework", +// desc: "Jan has a versatile app and plugin framework, allowing you to customize it to your needs.", +// icon: FolderPlusIcon, +// }, +// ]; export default function Home() { const { siteConfig } = useDocusaurusContext(); return ( <> - + {/* */} -
-
- -
-
-
- {/* TODO: Add upcoming events here */} - {/* */} - -

- Nitro -

-

- Make deployment of AI models easier than ever before -

- -
- - -
-
- -
- {/*
*/} -
- -
-
-
-
-
- -
-

AI that you control

-

- Nitro is a ... -

-
- {features.map((feat, i) => { - return ( -
-
- ); - })} +
+
+
+

+ Embeddable AI +

+

+ A fast, lightweight (3mb) inference server to supercharge apps + with local AI +

diff --git a/docs/src/styles/components.scss b/docs/src/styles/components.scss deleted file mode 100644 index 3583c258c..000000000 --- a/docs/src/styles/components.scss +++ /dev/null @@ -1,18 +0,0 @@ -@layer components { - .el-blur-hero { - height: 200px; - background: linear-gradient( - 180deg, - hsl(296, 100%, 67%) 0%, - hsl(253, 100%, 57%) 100% - ); - z-index: 2; - border-bottom-left-radius: 100%; - border-bottom-right-radius: 100%; - border-top-left-radius: 100%; - border-top-right-radius: 100%; - filter: blur(100px); - -webkit-filter: blur(100px); - opacity: 0.5; - } -} diff --git a/docs/src/styles/components/base.scss b/docs/src/styles/components/base.scss new file mode 100644 index 000000000..d92614714 --- /dev/null +++ b/docs/src/styles/components/base.scss @@ -0,0 +1,47 @@ +@layer base { + html { + @apply scroll-smooth; + } + + html[data-theme="light"] { + // --ifm-background-color: white; + // --ifm-color-primary: #2563eb; /* New Primary Blue */ + // --ifm-color-primary-dark: #204fcf; /* Darker Blue */ + // --ifm-color-primary-darker: #1b45b7; /* Even Darker Blue */ + // --ifm-color-primary-darkest: #163c9d; /* Darkest Blue */ + // --ifm-color-primary-light: #2974ff; /* Light Blue */ + // --ifm-color-primary-lighter: #3280ff; /* Lighter Blue */ + // --ifm-color-primary-lightest: #3a8bff; /* Lightest Blue */ + // --ifm-code-font-size: 95%; + // --ifm-navbar-link-hover-color: inherit; + // --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.1); + } + + html[data-theme="dark"] { + --ifm-background-color: #18181b; + // --ifm-color-primary: #ffffff; /* New Primary Blue */ + // --ifm-color-primary-dark: #204fcf; /* Darker Blue */ + // --ifm-color-primary-darker: #1b45b7; /* Even Darker Blue */ + // --ifm-color-primary-darkest: #163c9d; /* Darkest Blue */ + // --ifm-color-primary-light: #2974ff; /* Light Blue */ + // --ifm-color-primary-lighter: #3280ff; /* Lighter Blue */ + // --ifm-color-primary-lightest: #3a8bff; /* Lightest Blue */ + // --docusaurus-highlighted-code-line-bg: rgba(0, 0, 0, 0.3); + } + + body { + @apply text-base; + @apply antialiased; + @apply bg-[#FAFAFA] dark:bg-[#18181B]; + } + img { + pointer-events: none; + } + + a { + &:hover { + color: inherit; + text-decoration: none; + } + } +} diff --git a/docs/src/styles/typography.scss b/docs/src/styles/components/typography.scss similarity index 100% rename from docs/src/styles/typography.scss rename to docs/src/styles/components/typography.scss diff --git a/docs/src/styles/main.scss b/docs/src/styles/main.scss index ea6e4f723..31d4aa7ce 100644 --- a/docs/src/styles/main.scss +++ b/docs/src/styles/main.scss @@ -2,7 +2,11 @@ @import "tailwindcss/components"; @import "tailwindcss/utilities"; -@import "./typography.scss"; -@import "./tweaks.scss"; -@import "./base.scss"; -@import "./components.scss"; +@import "./tweaks/navbar.scss"; +@import "./tweaks/sidebar.scss"; +@import "./tweaks/code-block.scss"; +@import "./tweaks/breadcrumb.scss"; +@import "./tweaks/markdown.scss"; + +@import "./components/base.scss"; +@import "./components/typography.scss"; diff --git a/docs/src/styles/tweaks.scss b/docs/src/styles/tweaks.scss index 14ec842a9..4be11a4a4 100644 --- a/docs/src/styles/tweaks.scss +++ b/docs/src/styles/tweaks.scss @@ -1,100 +1,100 @@ -.redocusaurus { - div[data-section-id] { - min-height: auto; - } -} +// .redocusaurus { +// div[data-section-id] { +// min-height: auto; +// } +// } -[class*="docItemCol_"] { - @apply p-4 lg:px-16 lg:py-4; -} +// [class*="docItemCol_"] { +// @apply p-4 lg:px-16 lg:py-4; +// } -[class*="breadcrumbsContainer_"] { - margin-bottom: 40px !important; -} +// [class*="breadcrumbsContainer_"] { +// margin-bottom: 40px !important; +// } -.theme-doc-footer { - margin-top: 40px; - margin-bottom: 20px; -} +// .theme-doc-footer { +// margin-top: 40px; +// margin-bottom: 20px; +// } -.menu.thin-scrollbar { - padding: 32px 10px; -} +// .menu.thin-scrollbar { +// padding: 32px 10px; +// } -[class*="iconExternalLink_"] { - display: none; -} +// [class*="iconExternalLink_"] { +// display: none; +// } -.navbar { - @apply px-0 lg:h-16 border-b border-gray-200 dark:border-gray-800 bg-white/50 backdrop-blur-lg dark:bg-black/50 shadow-none; +// .navbar { +// @apply px-0 lg:h-16 border-b border-gray-200 dark:border-gray-800 bg-white/50 backdrop-blur-lg dark:bg-black/50 shadow-none; - .navbar__toggle { - width: 24px; - } +// .navbar__toggle { +// width: 24px; +// } - .navbar-sidebar__backdrop { - height: 100dvh; - } +// .navbar-sidebar__backdrop { +// height: 100dvh; +// } - .navbar-sidebar { - height: 100dvh; - .navbar-sidebar__close { - width: 14px; - } - } +// .navbar-sidebar { +// height: 100dvh; +// .navbar-sidebar__close { +// width: 14px; +// } +// } - .navbar__title { - @apply text-lg; - } - .navbar__brand { - margin-right: 24px; - &:hover { - color: inherit; - } - } - .navbar__inner { - @apply container; - } -} +// .navbar__title { +// @apply text-lg; +// } +// .navbar__brand { +// margin-right: 24px; +// &:hover { +// color: inherit; +// } +// } +// .navbar__inner { +// @apply container; +// } +// } -.breadcrumbs__item { - position: relative; - &:first-child { - .breadcrumbs__link { - vertical-align: middle; - margin-top: -2px; - } - } -} +// .breadcrumbs__item { +// position: relative; +// &:first-child { +// .breadcrumbs__link { +// vertical-align: middle; +// margin-top: -2px; +// } +// } +// } -[class*="docMainContainer_"], -[class*="docSidebarContainer_"] { - @apply bg-gray-50 dark:bg-gray-950/95; -} +// [class*="docMainContainer_"], +// [class*="docSidebarContainer_"] { +// @apply bg-gray-50 dark:bg-gray-950/95; +// } -.navbar-sidebar { - @apply bg-gray-50 dark:bg-gray-900; -} +// .navbar-sidebar { +// @apply bg-gray-50 dark:bg-gray-900; +// } -.theme-doc-sidebar-container { - @apply border-gray-200 dark:border-gray-800; -} +// .theme-doc-sidebar-container { +// @apply border-gray-200 dark:border-gray-800; +// } -.theme-doc-markdown { - a { - @apply text-blue-600 dark:text-blue-400; - } - ul { - list-style: revert; - } - ol { - list-style: decimal; - } - ul, - ol { - padding-left: 16px; - li { - @apply leading-loose; - } - } -} +// .theme-doc-markdown { +// a { +// @apply text-blue-600 dark:text-blue-400; +// } +// ul { +// list-style: revert; +// } +// ol { +// list-style: decimal; +// } +// ul, +// ol { +// padding-left: 16px; +// li { +// @apply leading-loose; +// } +// } +// } diff --git a/docs/src/styles/tweaks/breadcrumb.scss b/docs/src/styles/tweaks/breadcrumb.scss new file mode 100644 index 000000000..9091f8386 --- /dev/null +++ b/docs/src/styles/tweaks/breadcrumb.scss @@ -0,0 +1,18 @@ +.breadcrumbs { + @apply mb-8; + + &__item { + position: relative; + &:first-child { + .breadcrumbs__link { + vertical-align: middle; + margin-top: -2px; + } + } + } + + &__link { + padding-top: 2px; + padding-bottom: 2px; + } +} diff --git a/docs/src/styles/tweaks/code-block.scss b/docs/src/styles/tweaks/code-block.scss new file mode 100644 index 000000000..787df0b4d --- /dev/null +++ b/docs/src/styles/tweaks/code-block.scss @@ -0,0 +1,7 @@ +// * Classname from Docusaurus template +// * We just overide the styling with applied class from tailwind + +.theme-code-block { + font-size: 14px; + margin-top: 14px; +} diff --git a/docs/src/styles/tweaks/markdown.scss b/docs/src/styles/tweaks/markdown.scss new file mode 100644 index 000000000..69d80c5b7 --- /dev/null +++ b/docs/src/styles/tweaks/markdown.scss @@ -0,0 +1,39 @@ +.theme-doc-markdown { + a { + @apply text-blue-600 dark:text-blue-400 underline; + } + ul { + list-style: revert; + } + ol { + list-style: decimal; + } + ul, + ol { + padding-left: 16px; + li { + @apply leading-normal; + p { + margin-bottom: 0; + } + } + } + p { + @apply mb-2; + } + h1 { + &:first-child { + @apply mb-4; + } + } + + h1, + h2 { + @apply mb-3; + } + + table { + width: 100%; + display: table; + } +} diff --git a/docs/src/styles/tweaks/navbar.scss b/docs/src/styles/tweaks/navbar.scss new file mode 100644 index 000000000..dc56a0f4b --- /dev/null +++ b/docs/src/styles/tweaks/navbar.scss @@ -0,0 +1,27 @@ +// * Classname from Docusaurus template +// * We just overide the styling with applied class from tailwind + +.navbar { + @apply my-4 bg-transparent py-0 shadow-none; + + &__inner { + @apply container border border-gray-800 rounded-full dark:bg-[#09090B]/20 backdrop-blur-md flex items-center h-14 px-8; + } + + &__logo { + @apply flex items-center; + > img { + @apply w-6 h-6; + } + } + + &__brand { + &:hover { + color: white; + } + } + + &__title { + font-size: 18px; + } +} diff --git a/docs/src/styles/tweaks/sidebar.scss b/docs/src/styles/tweaks/sidebar.scss new file mode 100644 index 000000000..8784bbee4 --- /dev/null +++ b/docs/src/styles/tweaks/sidebar.scss @@ -0,0 +1,24 @@ +// * Classname from Docusaurus template +// * We just overide the styling with applied class from tailwind + +[class*="docSidebarContainer_"] { + margin-top: 0 !important; +} + +[class*="sidebar_"] { + padding-top: 0 !important; +} + +[class*="sidebarViewport_"] { + top: 64px !important; + height: unset !important; +} + +[class*="docItemCol_"] { + @apply px-8; +} + +// * Including custom sidebar table of content +.table-of-contents { + @apply text-base py-0; +} diff --git a/docs/src/theme/Layout/index.js b/docs/src/theme/Layout/index.js index 22c4cc131..f1d878f21 100644 --- a/docs/src/theme/Layout/index.js +++ b/docs/src/theme/Layout/index.js @@ -27,16 +27,13 @@ export default function Layout(props) { return ( - - - - + {/* */} -
- {!noFooter &&
+
+ ); } diff --git a/docs/src/styles/tweaks/navbar.scss b/docs/src/styles/tweaks/navbar.scss index fcec324cc..e85554ec5 100644 --- a/docs/src/styles/tweaks/navbar.scss +++ b/docs/src/styles/tweaks/navbar.scss @@ -2,7 +2,7 @@ // * We just overide the styling with applied class from tailwind .navbar { - @apply my-4 bg-transparent py-0 shadow-none top-4; + @apply my-4 bg-transparent py-0 shadow-none top-4 container; &:before { width: 100%; height: 16px; @@ -33,4 +33,8 @@ &__title { font-size: 18px; } + + [class*="searchBox_"] { + display: none; + } } diff --git a/docs/static/img/elements/stars.svg b/docs/static/img/elements/stars.svg new file mode 100644 index 000000000..cb621f1b4 --- /dev/null +++ b/docs/static/img/elements/stars.svg @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/platforms/cross-cpus.svg b/docs/static/img/platforms/cross-cpus.svg new file mode 100644 index 000000000..e2d52ba99 --- /dev/null +++ b/docs/static/img/platforms/cross-cpus.svg @@ -0,0 +1,88 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/platforms/cross-gpus.svg b/docs/static/img/platforms/cross-gpus.svg new file mode 100644 index 000000000..5b5f0405e --- /dev/null +++ b/docs/static/img/platforms/cross-gpus.svg @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/static/img/platforms/cross-platforms.svg b/docs/static/img/platforms/cross-platforms.svg new file mode 100644 index 000000000..103aba800 --- /dev/null +++ b/docs/static/img/platforms/cross-platforms.svg @@ -0,0 +1,66 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/yarn.lock b/docs/yarn.lock index fc19cc031..56e849db0 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -7349,10 +7349,10 @@ react-syntax-highlighter@^15.5.0: prismjs "^1.27.0" refractor "^3.6.0" -react-tabs@^3.2.2: - version "3.2.3" - resolved "https://registry.yarnpkg.com/react-tabs/-/react-tabs-3.2.3.tgz#ccbb3e1241ad3f601047305c75db661239977f2f" - integrity sha512-jx325RhRVnS9DdFbeF511z0T0WEqEoMl1uCE3LoZ6VaZZm7ytatxbum0B8bCTmaiV0KsU+4TtLGTGevCic7SWg== +react-tabs@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/react-tabs/-/react-tabs-4.3.0.tgz#9f4db0fd209ba4ab2c1e78993ff964435f84af62" + integrity sha512-2GfoG+f41kiBIIyd3gF+/GRCCYtamC8/2zlAcD8cqQmqI9Q+YVz7fJLHMmU9pXDVYYHpJeCgUSBJju85vu5q8Q== dependencies: clsx "^1.1.0" prop-types "^15.5.0" From 385f0796f9432363529b562d381f862cdf2ccb30 Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Mon, 20 Nov 2023 23:18:28 +0700 Subject: [PATCH 04/20] Finished all section landing page --- docs/docusaurus.config.js | 2 +- docs/get-nitro.sh | 26 ++++++++ .../containers/Homepage/Architecture/index.js | 60 +++++++++++++++++- .../Homepage/BuiltWithNitro/index.js | 31 ++++++++- .../containers/Homepage/MultiModal/index.js | 25 ++++++++ .../src/containers/Homepage/Platform/index.js | 6 +- .../containers/Homepage/Statistic/index.js | 24 ++++--- docs/src/pages/index.js | 4 +- docs/src/theme/Layout/index.js | 2 +- docs/static/img/built/desktop-app.png | Bin 0 -> 203965 bytes docs/static/img/built/web-app.png | Bin 0 -> 91612 bytes 11 files changed, 161 insertions(+), 19 deletions(-) create mode 100644 docs/get-nitro.sh create mode 100644 docs/static/img/built/desktop-app.png create mode 100644 docs/static/img/built/web-app.png diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 5808bba89..c235f248b 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -165,7 +165,7 @@ const config = { }, colorMode: { defaultMode: "dark", - disableSwitch: false, + disableSwitch: true, respectPrefersColorScheme: false, }, }), diff --git a/docs/get-nitro.sh b/docs/get-nitro.sh new file mode 100644 index 000000000..409c4d944 --- /dev/null +++ b/docs/get-nitro.sh @@ -0,0 +1,26 @@ + + + + + +Installation | Nitro + + + + + + + + + + + + + + +
+

Nitro Installation Guide

This guide provides instructions for installing Nitro using the provided install.sh and install.bat scripts for Linux, macOS, and Windows systems.

Features

The installation script offers the following features:

  1. Root Privilege Check: Ensures the script is run with root privileges to avoid permission issues.
  2. Dependency Check: Checks for and advises on the installation of jq and unzip.
  3. Automated Nitro Installation: Downloads and installs the appropriate Nitro version based on the user's OS and architecture.
  4. Uninstall Script Creation: Generates an uninstall script for easy removal of Nitro if needed.
  5. Enhanced User Experience: Offers clear and colored output messages during the installation process.

Prerequisites

  • Linux and macOS: jq, curl and sudo are required. If sudo is not available, the user must have passwordless sudo privileges. If jq or curl are not available, the script will attempt to suggest installation commands for these packages.

  • Windows: PowerShell are required.

  • GPU Version: GPU is supported on Linux and Windows only. nvidia-cuda-toolkits-12.x is required on both Linux and Windows.

Installation Instructions

Linux and macOS

  • Latest version (CPU is default):

    curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh | sudo /bin/bash -
  • Specific Version Installation:

    curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o /tmp/install.sh && chmod +x /tmp/install.sh && sudo bash /tmp/install.sh --version 0.1.7 && rm /tmp/install.sh
  • GPU Version Installation:

    curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o /tmp/install.sh && chmod +x /tmp/install.sh && sudo bash /tmp/install.sh --gpu && rm /tmp/install.sh
  • GPU Version Installation Specific Version:

    curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o /tmp/install.sh && chmod +x /tmp/install.sh && sudo bash /tmp/install.sh --gpu --version 0.1.7 && rm /tmp/install.sh
  • Manual Installation by downloaing the script loacally and run with different arguments:

    # Download the script
    curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o ./install.sh

    # Make the script executable
    chmod +x ./install.sh

    # Arguments supported
    # --version: Specify the version to install for example "--version 0.1.7", default is latest, list version of nitro can be found in https://github.com/janhq/nitro/releases
    # --gpu: Install the GPU version of nitro, default is CPU version

    # Run one of the following commands

    # Download and install the latest version of nitro
    sudo ./install.sh

    # Download and install the specific version of nitro
    sudo ./install.sh --version 0.1.7

    # Download and install the GPU version of nitro
    sudo ./install.sh --gpu

    # Download and install the GPU version of nitro with specific version
    sudo ./install.sh --gpu --version 0.1.7

Windows

  • Latest version (CPU is default)

    powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat; Remove-Item -Path 'install.bat' }"
  • Specific Version Installation:

    powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat --version 0.1.7; Remove-Item -Path 'install.bat' }"
  • GPU Version Installation:

    powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat --gpu; Remove-Item -Path 'install.bat' }"
  • GPU Version Installation Specific Version:

    powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat --gpu --version 0.1.7; Remove-Item -Path 'install.bat' }"
  • Manual Installation by downloaing the script loacally and run with different arguments

    # Download the script
    Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'

    # Arguments supported
    # --version: Specify the version to install for example "--version 0.1.7", default is latest, list version of nitro can be found in https://github.com/janhq/nitro/releases
    # --gpu: Install the GPU version of nitro, default is CPU version
    # Run one of the following commands
    # Download and install the latest version of nitro
    .\install.bat

    # Download and install the specific version of nitro
    .\install.bat --version 0.1.7

    # Download and install the GPU version of nitro
    .\install.bat --gpu

    # Download and install the GPU version of nitro with specific version
    .\install.bat --gpu --version 0.1.7

Usage

After installation, launch Nitro by typing nitro (or nitro.exe on Windows) in a new terminal or PowerShell window. This will start the Nitro server.

Simple testcase with nitro, after starting the server, you can run the following command to test the server in a new terminal or powershell session:

  • On Linux and MacOS:

    Linux and Macos
    # Download tiny model
    DOWNLOAD_URL=https://huggingface.co/TheBloke/TinyLlama-1.1B-Chat-v0.3-GGUF/resolve/main/tinyllama-1.1b-chat-v0.3.Q2_K.gguf
    # Check if /tmp/testmodel exists, if not, download it
    if [[ ! -f "/tmp/testmodel" ]]; then
    wget $DOWNLOAD_URL -O /tmp/testmodel
    fi
    # Load the model to nitro
    curl -s --location 'http://localhost:3928/inferences/llamacpp/loadModel' \
    --header 'Content-Type: application/json' \
    --data '{
    "llama_model_path": "/tmp/testmodel",
    "ctx_len": 2048,
    "ngl": 32,
    "embedding": false
    }'
    # Send a prompt request to nitro
    curl -s --location 'http://localhost:3928/inferences/llamacpp/chat_completion' \
    --header 'Content-Type: application/json' \
    --data '{
    "messages": [
    {"content": "Hello there", "role": "assistant"},
    {"content": "Write a long and sad story for me", "role": "user"}
    ],
    "stream": true,
    "max_tokens": 100,
    "stop": ["hello"],
    "frequency_penalty": 0,
    "presence_penalty": 0,
    "temperature": 0.7
    }'
  • On Windows:

    Windows
    # Download tiny model
    set "MODEL_PATH=%TEMP%\testmodel"
    if not exist "%MODEL_PATH%" (
    bitsadmin.exe /transfer "DownloadTestModel" %DOWNLOAD_URL% "%MODEL_PATH%"
    )

    # Load the model to nitro
    call set "MODEL_PATH_STRING=%%MODEL_PATH:\=\\%%"
    set "curl_data1={\"llama_model_path\":\"%MODEL_PATH_STRING%\"}"
    curl.exe -s -w "%%{http_code}" --location "http://localhost:3928/inferences/llamacpp/loadModel" --header "Content-Type: application/json" --data "%curl_data1%"

    # Send a prompt request to nitro
    set "curl_data2={\"messages\":[{\"content\":\"Hello there\",\"role\":\"assistant\"},{\"content\":\"Write a long and sad story for me\",\"role\":\"user\"}],\"stream\":true,\"model\":\"gpt-3.5-turbo\",\"max_tokens\":100,\"stop\":[\"hello\"],\"frequency_penalty\":0,\"presence_penalty\":0,\"temperature\":0.7}"
    curl.exe -s -w "%%{http_code}" --location "http://localhost:3928/inferences/llamacpp/chat_completion" ^
    --header "Content-Type: application/json" ^
    --data "%curl_data2%"

Uninstallation

  • Linux and macOS: Run sudo uninstall_nitro.sh from anywhere (the script is added to PATH).
  • Windows: Open PowerShell and run uninstallnitro.bat from anywhere (the script is added to PATH).
+ + + + \ No newline at end of file diff --git a/docs/src/containers/Homepage/Architecture/index.js b/docs/src/containers/Homepage/Architecture/index.js index 1f50d88f7..fb11fd734 100644 --- a/docs/src/containers/Homepage/Architecture/index.js +++ b/docs/src/containers/Homepage/Architecture/index.js @@ -5,11 +5,69 @@ export default function Architecture() {

Nitro's Architecture

-

+

Nitro is 100% open source and licensed under the AGPLv3 license. We build upon the shoulders of giants at llama.cpp and Drogon.

+
+ Element Stars +
+
+

OpenAI-compatible API

+
+
+
Nitro
+
+
+

Authentication

+
+
+

Batching

+
+
+

Multi-threading

+
+
+

Model Management

+
+
+
+ +
+
Model Engines
+
+
+
LLMs
+
+
+

Llama.cpp

+
+
+

TensorRT-LLM

+
+
+
+
+
Speech
+
+

Whisper.cpp

+
+
+
+
Vision
+
+

StableDiffusion

+
+
+
+
+
+
); } diff --git a/docs/src/containers/Homepage/BuiltWithNitro/index.js b/docs/src/containers/Homepage/BuiltWithNitro/index.js index 39815244f..07200ad1d 100644 --- a/docs/src/containers/Homepage/BuiltWithNitro/index.js +++ b/docs/src/containers/Homepage/BuiltWithNitro/index.js @@ -3,12 +3,39 @@ import React from "react"; export default function BuiltWithNitro() { return (
-
+

Build with Nitro

-

+

Start running local AI models in your app within 10 seconds. Available as an npm, pip package, or binary.

+ + Developer Docs + +
+ +
+
+
+ Element Web App +

Web App

+
+
+ Element Desktop App +

Desktop App

+
+
); diff --git a/docs/src/containers/Homepage/MultiModal/index.js b/docs/src/containers/Homepage/MultiModal/index.js index 0bda99522..2ccd04ffa 100644 --- a/docs/src/containers/Homepage/MultiModal/index.js +++ b/docs/src/containers/Homepage/MultiModal/index.js @@ -9,6 +9,31 @@ export default function MultiModal() { Nitro integrates best-of-class open source AI libraries

+ +
+
+
Think
+

Llama2, Mistral, CausalML,...

+
+
+
Imagine
+

+ Coming Soon +

+
+
+
Vision
+

+ Coming Soon +

+
+
+
Speech
+

+ Coming Soon +

+
+
); } diff --git a/docs/src/containers/Homepage/Platform/index.js b/docs/src/containers/Homepage/Platform/index.js index 90d7adfd7..1d2e69664 100644 --- a/docs/src/containers/Homepage/Platform/index.js +++ b/docs/src/containers/Homepage/Platform/index.js @@ -10,7 +10,7 @@ export default function Platform() { className="border border-gray-800 p-4 lg:p-6 rounded-lg" style={{ background: - "radial-gradient(500px 500px at 50% 100%, #172554, transparent)", + "radial-gradient(500px 500px at 50% 100%, #1D1B48, transparent)", }} >

Cross-Platform

@@ -31,7 +31,7 @@ export default function Platform() { className="relative border border-gray-800 p-4 lg:p-6 rounded-lg h-full " style={{ background: - "radial-gradient(300px 300px at 50% 100%, #172554, transparent)", + "radial-gradient(300px 300px at 50% 100%, #1D1B48, transparent)", }} >
GPUs
@@ -47,7 +47,7 @@ export default function Platform() { className="border border-gray-800 p-4 lg:p-6 rounded-lg h-full" style={{ background: - "radial-gradient(300px 300px at 50% 100%, #172554, transparent)", + "radial-gradient(300px 300px at 50% 100%, #1D1B48, transparent)", }} >
CPUs
diff --git a/docs/src/containers/Homepage/Statistic/index.js b/docs/src/containers/Homepage/Statistic/index.js index da3867d2a..2b9f67237 100644 --- a/docs/src/containers/Homepage/Statistic/index.js +++ b/docs/src/containers/Homepage/Statistic/index.js @@ -31,44 +31,50 @@ export default function Statistic() {
-

+

{lightweightTabActive ? "Nitro is an extremely lightweight library built for app developers to run local AI" : "Nitro is built using Drogon, a blazing-fast C++ server and natively implements batch inference, multi-threading and more"}

{lightweightTabActive ? ( -
+
-
Nitro
+
+ Nitro +
3mb
-
Ollama
+
Ollama
332mb
-
Local AI
+
+ Local AI +
193mb
) : ( -
+
-
Nitro
+
+ Nitro +
24
token/s
-
+
Llama.cpp (base)
@@ -77,7 +83,7 @@ export default function Statistic() { token/s
-
+
Text-inference
diff --git a/docs/src/pages/index.js b/docs/src/pages/index.js index eacd46a52..27bc2c07a 100644 --- a/docs/src/pages/index.js +++ b/docs/src/pages/index.js @@ -47,7 +47,7 @@ export default function Home() {  inference server to supercharge apps with local AI.

-
+
@@ -56,7 +56,7 @@ export default function Home() {
-
+
diff --git a/docs/src/theme/Layout/index.js b/docs/src/theme/Layout/index.js index 5305fb504..85119e1f5 100644 --- a/docs/src/theme/Layout/index.js +++ b/docs/src/theme/Layout/index.js @@ -28,7 +28,7 @@ export default function Layout(props) { - {/* */} +
g9LXSU?8~r3^ROr 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

7F!ERioGlp&(i;?nL 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
-VXMiG? zkzjwN2o*z?JXn+y482eH2&`P;C3GeHwbamvhIuhb4Hm-_U%|L#=Tz*dvVJI=mmITgC`y z1816)9rwe2J>H6Aj#s5Jjt;D9ZH(`{5nf%h8*2Vi?J~Q5>+6M>f-6jQ^1HD($ zQPh)8)cMW*eRBnNcrd}m!43BHu`{Km|MRYdh-zxfLgZl@#<}u?k!@cmCWIk!Yzq;6 zBZGWC*-F@+PRLL9nP;%6krC?9Jlh=WAyDSioh?!sL%LFn>oBPL6uD_LA!6L;8 z0}`YK%1kAt$qk#>e2I+qHqt#daUEc%*KHEF*SN|PERrWB-RK^azj>m!|Iz7n%#FE+ zhAATtzKxmz9)dDAI(AraVO-ya2`3?^cza2<>kiw%zw#+tUfjzT@BVn2kE+Gj zKEKI}xS&F$5NiYpHOo40+l-HNK-9URy5Lt+wP57HG?-7m78|<$M4+)DzVTzr_&#hO znSl!202CT+RU;NNKBJm<&s5uotaSZNkC!IXZ=-92ClJQ_^e3winRyp`gOq0t_<|}V ziJu|$Kz8l6SMpw7t`8Nb=(Bh>N{Njm^6L6!p0zTngE35PeCS+p?t=b7O*3Ky<5SVj z2U-UV`(s{dN?OFwBJys)xM0m)^XhG$z_@NL*~GqUmybxbNmes~r?yuRMU8S-Mu?)%|+S13vcp@-Q$LyUCq zss0W?5KN=2+Mm$a!=80tCSOAF-m9 z7nuwEMpfpnxMUAq?<5p|U3mDTMSo6~z)BDpy7nsb{Wv0Cr1*w>i zyma$C09@+qGS7{oyzOfmLf5^1_~C=b=rZS>swTBHqgbjNY1iA`c~YAI zJ#HkM#hPJBDoP9t%Aeg=8|hB4ESa!dbkfp473K}|tRKs&KJ@MM`{4%lqs`3pvh0ez zEqgL8#QtobPy3YCVoRb1(XP#H#GH7-J1Vz1kjhLCz%r8v#PE00 zDGxDUPdJXxWFk0on_i!*HCv~UZWag|7gZvy ztHG|)WK%4`nY<&blHhWveG?0=k8;ZY*afM*iaKI(5pl^ij-ODgIh3_3;P_SU!{jj) zc5`1tL>(qGUT9&_Mmt*YP^ncifS-I!=Xcs|`ZTTQZFD2d=pj@)_zw(qGs$xj@en+; zD45;KMM+n*eC>(SNztk{MB3ac=J~~^FtmJozSB zPA@a)ruxFHobAqxjhQ;9%(d?s{-Jjk*nnpX=sfxF-|LF*D|o8mIw}iJU)KVXj7L75 zcRc&Xsz&#*M{(9K2;j^jc27CrTfil>NFAN(J(((25)4;^qn&92oOCWSwpD_b`hnN} z0GrZtsE2QuQ&Zs76!Drlwslp;EUPqn2=ZW?{j4=@as)ET!pXG>J|!k_5`n0)Gs9#0 zPbP2^*y>wivi6nbcx&vCp@W^FpA|E*WMIhRhk&?D9jeC8ACuMs<5zA&B%8bz*ZQ>OE` zbuiDA@gSz)IVa5E9N|x6ZRnD3ei}lG-hd!@WC?WDEh7LJqe)H4WTb$^i#~0_JT&gI z*KOa0`=x0^V5;lIEz)d>G)xLqRX+m9N;1zxGGcJl8_nyaGP`2H&8D~$qpL};B=+?gg D^Ysfz literal 0 HcmV?d00001 diff --git a/docs/static/img/built/web-app.png b/docs/static/img/built/web-app.png new file mode 100644 index 0000000000000000000000000000000000000000..15c1e0a7af67cb7450d6767f22e8a71a6426a05b GIT binary patch literal 91612 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 literal 0 HcmV?d00001 From 4f7df0e0852af218ca16020903d07eb35e3efe0d Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Mon, 20 Nov 2023 23:31:31 +0700 Subject: [PATCH 05/20] Fix button download --- .../DownloadButton/index.js} | 31 +++++++------------ docs/src/pages/index.js | 6 ++-- 2 files changed, 14 insertions(+), 23 deletions(-) rename docs/src/{components/Elements/dropdown.js => containers/DownloadButton/index.js} (85%) diff --git a/docs/src/components/Elements/dropdown.js b/docs/src/containers/DownloadButton/index.js similarity index 85% rename from docs/src/components/Elements/dropdown.js rename to docs/src/containers/DownloadButton/index.js index 443547132..28ec99a77 100644 --- a/docs/src/components/Elements/dropdown.js +++ b/docs/src/containers/DownloadButton/index.js @@ -6,24 +6,19 @@ import axios from "axios"; const systemsTemplate = [ { - name: "Download for Mac (M1/M2)", + name: "Download for Mac", logo: require("@site/static/img/apple-logo-white.png").default, - fileFormat: "{appname}-mac-arm64-{tag}.dmg", - }, - { - name: "Download for Mac (Intel)", - logo: require("@site/static/img/apple-logo-white.png").default, - fileFormat: "{appname}-mac-x64-{tag}.dmg", + fileFormat: "{appname}-mac-arm64.zip", }, { name: "Download for Windows", logo: require("@site/static/img/windows-logo-white.png").default, - fileFormat: "{appname}-win-x64-{tag}.exe", + fileFormat: "{appname}-win-amd64.zip", }, { name: "Download for Linux", logo: require("@site/static/img/linux-logo-white.png").default, - fileFormat: "{appname}-linux-amd64-{tag}.deb", + fileFormat: "{appname}-linux-amd64.zip", }, ]; @@ -31,7 +26,7 @@ function classNames(...classes) { return classes.filter(Boolean).join(" "); } -export default function Dropdown() { +export default function DownloadButton() { const [systems, setSystems] = useState(systemsTemplate); const [defaultSystem, setDefaultSystem] = useState(systems[0]); @@ -57,22 +52,20 @@ export default function Dropdown() { const userAgent = navigator.userAgent; if (userAgent.includes("Windows")) { // windows user - setDefaultSystem(systems[2]); + setDefaultSystem(systems[1]); } else if (userAgent.includes("Linux")) { // linux user - setDefaultSystem(systems[3]); - } else if (userAgent.includes("Mac OS") && userAgent.includes("Intel")) { - // mac intel user - setDefaultSystem(systems[1]); + setDefaultSystem(systems[2]); + } else if (userAgent.includes("Mac OS")) { + setDefaultSystem(systems[0]); } else { - // mac user and also default setDefaultSystem(systems[0]); } }; useEffect(() => { const updateDownloadLinks = async () => { try { - const releaseInfo = await getLatestReleaseInfo("janhq", "jan"); + const releaseInfo = await getLatestReleaseInfo("janhq", "nitro"); // Extract appname from the first asset name const firstAssetName = releaseInfo.assets[0].name; @@ -98,7 +91,7 @@ export default function Dropdown() { .replace("{tag}", tag); return { ...system, - href: `https://github.com/janhq/jan/releases/download/${releaseInfo.tag_name}/${downloadUrl}`, + href: `https://github.com/janhq/nitro/releases/download/${releaseInfo.tag_name}/${downloadUrl}`, }; }); @@ -115,7 +108,7 @@ export default function Dropdown() { return (
    From 4574c1df39e2d019b3d5952ea74454880e2f4e8f Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Tue, 21 Nov 2023 00:14:40 +0700 Subject: [PATCH 06/20] Fix multiple column code snippet --- docs/docs/new/about.md | 13 ++- docs/docs/new/build-source.md | 79 +++++++------- docs/get-nitro.sh | 26 ----- .../src/containers/Homepage/GetNitro/index.js | 4 +- docs/src/styles/tweaks.scss | 100 ------------------ docs/src/styles/tweaks/sidebar.scss | 13 ++- 6 files changed, 64 insertions(+), 171 deletions(-) delete mode 100644 docs/get-nitro.sh delete mode 100644 docs/src/styles/tweaks.scss diff --git a/docs/docs/new/about.md b/docs/docs/new/about.md index 634bf9abb..977dd0e7d 100644 --- a/docs/docs/new/about.md +++ b/docs/docs/new/about.md @@ -39,8 +39,9 @@ curl http://localhost:3928/v1/chat/completions \ }, ] }' - + ``` +
    @@ -63,6 +64,7 @@ curl https://api.openai.com/v1/chat/completions \ ] }' ``` +
    - **Extends OpenAI's API with helpful model methods:** @@ -80,7 +82,7 @@ curl https://api.openai.com/v1/chat/completions \ ### Multi-modal Capabilities - **Coming Soon**: Expansion to multi-modal functionalities - enabling Nitro to process and generate images, and audio. -- **Features to Expect**: +- **Features to Expect**: - Large Language-and-Vision Assistant. - Speech recognition and transcription. @@ -90,15 +92,19 @@ curl https://api.openai.com/v1/chat/completions \ - **Detailed Specifications**: For an in-depth understanding of Nitro's internal workings, components, and design philosophy, refer to our [Architecture Specifications](architecture.md). ## Support + ### GitHub Issue Tracking + - **Report Problems**: Encounter an issue with Nitro? File a [GitHub issue](https://github.com/janhq/nitro). Please include detailed error logs and steps to reproduce the problem. ### Discord Community + - **Join the Conversation**: Discuss Nitro development and seek peer support in our [#nitro-dev](https://discord.gg/FTk2MvZwJH) channel on Discord. ## Contributing ### How to Contribute + Nitro welcomes contributions in various forms, not just coding. Here are some ways you can get involved: - **Understand Nitro**: Start with the [Getting Started](nitro/overview) guide. Found an issue or have a suggestion? [Open an issue](https://github.com/janhq/nitro/issues) to let us know. @@ -106,9 +112,10 @@ Nitro welcomes contributions in various forms, not just coding. Here are some wa - **Feature Development**: Engage with community feature requests. Bring ideas to life by opening a [pull request](https://github.com/janhq/nitro/pulls) for features that interest you. ### Links + - [Nitro GitHub Repository](https://github.com/janhq/nitro) ## Acknowledgements - [drogon](https://github.com/drogonframework/drogon): The fast C++ web framework -- [llama.cpp](https://github.com/ggerganov/llama.cpp): Inference of LLaMA model in pure C/C++ \ No newline at end of file +- [llama.cpp](https://github.com/ggerganov/llama.cpp): Inference of LLaMA model in pure C/C++ diff --git a/docs/docs/new/build-source.md b/docs/docs/new/build-source.md index e9c87cd8d..745a4cb64 100644 --- a/docs/docs/new/build-source.md +++ b/docs/docs/new/build-source.md @@ -15,19 +15,21 @@ git clone --recurse https://github.com/janhq/nitro If you don't have git, you can download the source code as a file archive from [Nitro GitHub](https://github.com/janhq/nitro). Each [release](https://github.com/caddyserver/caddy/releases) also has source snapshots. ## Install Dependencies + Next, let's install the necessary dependencies. - **On MacOS with Apple Silicon:** - ```bash - ./install_deps.sh - ``` + + ```bash + ./install_deps.sh + ``` - **On Windows:** - ```bash - cmake -S ./nitro_deps -B ./build_deps/nitro_deps - cmake --build ./build_deps/nitro_deps --config Release - ``` + ```bash + cmake -S ./nitro_deps -B ./build_deps/nitro_deps + cmake --build ./build_deps/nitro_deps --config Release + ``` This creates a `build_deps` folder. @@ -37,46 +39,46 @@ Now, let's generate the build files. - **On MacOS, Linux, and Windows:** - ```bash - mkdir build && cd build - cmake .. - ``` + ```bash + mkdir build && cd build + cmake .. + ``` - **On MacOS with Intel processors:** - ```bash - mkdir build && cd build - cmake -DLLAMA_METAL=OFF .. - ``` + ```bash + mkdir build && cd build + cmake -DLLAMA_METAL=OFF .. + ``` - **On Linux with CUDA:** - ```bash - mkdir build && cd build - cmake -DLLAMA_CUBLAS=ON .. - ``` + ```bash + mkdir build && cd build + cmake -DLLAMA_CUBLAS=ON .. + ``` ## Build the Application Time to build Nitro! - **On MacOS:** - - ```bash - make -j $(sysctl -n hw.physicalcpu) - ``` + + ```bash + make -j $(sysctl -n hw.physicalcpu) + ``` - **On Linux:** - ```bash - make -j $(%NUMBER_OF_PROCESSORS%) - ``` + ```bash + make -j $(%NUMBER_OF_PROCESSORS%) + ``` - **On Windows:** - ```bash - cmake --build . --config Release - ``` + ```bash + cmake --build . --config Release + ``` ## Start process @@ -84,19 +86,20 @@ Finally, let's start Nitro. - **On MacOS and Linux:** - ```bash - ./nitro - ``` + ```bash + ./nitro + ``` - **On Windows:** - ```bash - cd Release - copy ..\..\build_deps\_install\bin\zlib.dll . - nitro.exe - ``` + ```bash + cd Release + copy ..\..\build_deps\_install\bin\zlib.dll . + nitro.exe + ``` To verify if the build was successful: + ```bash curl http://localhost:3928/healthz -``` \ No newline at end of file +``` diff --git a/docs/get-nitro.sh b/docs/get-nitro.sh deleted file mode 100644 index 409c4d944..000000000 --- a/docs/get-nitro.sh +++ /dev/null @@ -1,26 +0,0 @@ - - - - - -Installation | Nitro - - - - - - - - - - - - - - -
    -

    Nitro Installation Guide

    This guide provides instructions for installing Nitro using the provided install.sh and install.bat scripts for Linux, macOS, and Windows systems.

    Features

    The installation script offers the following features:

    1. Root Privilege Check: Ensures the script is run with root privileges to avoid permission issues.
    2. Dependency Check: Checks for and advises on the installation of jq and unzip.
    3. Automated Nitro Installation: Downloads and installs the appropriate Nitro version based on the user's OS and architecture.
    4. Uninstall Script Creation: Generates an uninstall script for easy removal of Nitro if needed.
    5. Enhanced User Experience: Offers clear and colored output messages during the installation process.

    Prerequisites

    • Linux and macOS: jq, curl and sudo are required. If sudo is not available, the user must have passwordless sudo privileges. If jq or curl are not available, the script will attempt to suggest installation commands for these packages.

    • Windows: PowerShell are required.

    • GPU Version: GPU is supported on Linux and Windows only. nvidia-cuda-toolkits-12.x is required on both Linux and Windows.

    Installation Instructions

    Linux and macOS

    • Latest version (CPU is default):

      curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh | sudo /bin/bash -
    • Specific Version Installation:

      curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o /tmp/install.sh && chmod +x /tmp/install.sh && sudo bash /tmp/install.sh --version 0.1.7 && rm /tmp/install.sh
    • GPU Version Installation:

      curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o /tmp/install.sh && chmod +x /tmp/install.sh && sudo bash /tmp/install.sh --gpu && rm /tmp/install.sh
    • GPU Version Installation Specific Version:

      curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o /tmp/install.sh && chmod +x /tmp/install.sh && sudo bash /tmp/install.sh --gpu --version 0.1.7 && rm /tmp/install.sh
    • Manual Installation by downloaing the script loacally and run with different arguments:

      # Download the script
      curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o ./install.sh

      # Make the script executable
      chmod +x ./install.sh

      # Arguments supported
      # --version: Specify the version to install for example "--version 0.1.7", default is latest, list version of nitro can be found in https://github.com/janhq/nitro/releases
      # --gpu: Install the GPU version of nitro, default is CPU version

      # Run one of the following commands

      # Download and install the latest version of nitro
      sudo ./install.sh

      # Download and install the specific version of nitro
      sudo ./install.sh --version 0.1.7

      # Download and install the GPU version of nitro
      sudo ./install.sh --gpu

      # Download and install the GPU version of nitro with specific version
      sudo ./install.sh --gpu --version 0.1.7

    Windows

    • Latest version (CPU is default)

      powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat; Remove-Item -Path 'install.bat' }"
    • Specific Version Installation:

      powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat --version 0.1.7; Remove-Item -Path 'install.bat' }"
    • GPU Version Installation:

      powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat --gpu; Remove-Item -Path 'install.bat' }"
    • GPU Version Installation Specific Version:

      powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat --gpu --version 0.1.7; Remove-Item -Path 'install.bat' }"
    • Manual Installation by downloaing the script loacally and run with different arguments

      # Download the script
      Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'

      # Arguments supported
      # --version: Specify the version to install for example "--version 0.1.7", default is latest, list version of nitro can be found in https://github.com/janhq/nitro/releases
      # --gpu: Install the GPU version of nitro, default is CPU version
      # Run one of the following commands
      # Download and install the latest version of nitro
      .\install.bat

      # Download and install the specific version of nitro
      .\install.bat --version 0.1.7

      # Download and install the GPU version of nitro
      .\install.bat --gpu

      # Download and install the GPU version of nitro with specific version
      .\install.bat --gpu --version 0.1.7

    Usage

    After installation, launch Nitro by typing nitro (or nitro.exe on Windows) in a new terminal or PowerShell window. This will start the Nitro server.

    Simple testcase with nitro, after starting the server, you can run the following command to test the server in a new terminal or powershell session:

    • On Linux and MacOS:

      Linux and Macos
      # Download tiny model
      DOWNLOAD_URL=https://huggingface.co/TheBloke/TinyLlama-1.1B-Chat-v0.3-GGUF/resolve/main/tinyllama-1.1b-chat-v0.3.Q2_K.gguf
      # Check if /tmp/testmodel exists, if not, download it
      if [[ ! -f "/tmp/testmodel" ]]; then
      wget $DOWNLOAD_URL -O /tmp/testmodel
      fi
      # Load the model to nitro
      curl -s --location 'http://localhost:3928/inferences/llamacpp/loadModel' \
      --header 'Content-Type: application/json' \
      --data '{
      "llama_model_path": "/tmp/testmodel",
      "ctx_len": 2048,
      "ngl": 32,
      "embedding": false
      }'
      # Send a prompt request to nitro
      curl -s --location 'http://localhost:3928/inferences/llamacpp/chat_completion' \
      --header 'Content-Type: application/json' \
      --data '{
      "messages": [
      {"content": "Hello there", "role": "assistant"},
      {"content": "Write a long and sad story for me", "role": "user"}
      ],
      "stream": true,
      "max_tokens": 100,
      "stop": ["hello"],
      "frequency_penalty": 0,
      "presence_penalty": 0,
      "temperature": 0.7
      }'
    • On Windows:

      Windows
      # Download tiny model
      set "MODEL_PATH=%TEMP%\testmodel"
      if not exist "%MODEL_PATH%" (
      bitsadmin.exe /transfer "DownloadTestModel" %DOWNLOAD_URL% "%MODEL_PATH%"
      )

      # Load the model to nitro
      call set "MODEL_PATH_STRING=%%MODEL_PATH:\=\\%%"
      set "curl_data1={\"llama_model_path\":\"%MODEL_PATH_STRING%\"}"
      curl.exe -s -w "%%{http_code}" --location "http://localhost:3928/inferences/llamacpp/loadModel" --header "Content-Type: application/json" --data "%curl_data1%"

      # Send a prompt request to nitro
      set "curl_data2={\"messages\":[{\"content\":\"Hello there\",\"role\":\"assistant\"},{\"content\":\"Write a long and sad story for me\",\"role\":\"user\"}],\"stream\":true,\"model\":\"gpt-3.5-turbo\",\"max_tokens\":100,\"stop\":[\"hello\"],\"frequency_penalty\":0,\"presence_penalty\":0,\"temperature\":0.7}"
      curl.exe -s -w "%%{http_code}" --location "http://localhost:3928/inferences/llamacpp/chat_completion" ^
      --header "Content-Type: application/json" ^
      --data "%curl_data2%"

    Uninstallation

    • Linux and macOS: Run sudo uninstall_nitro.sh from anywhere (the script is added to PATH).
    • Windows: Open PowerShell and run uninstallnitro.bat from anywhere (the script is added to PATH).
    - - - - \ No newline at end of file diff --git a/docs/src/containers/Homepage/GetNitro/index.js b/docs/src/containers/Homepage/GetNitro/index.js index fa310d819..59c7570dd 100644 --- a/docs/src/containers/Homepage/GetNitro/index.js +++ b/docs/src/containers/Homepage/GetNitro/index.js @@ -28,8 +28,8 @@ export default function GetNitro() { }; return ( -
    -
    +
    +
      {options.map((option, i) => { return ( diff --git a/docs/src/styles/tweaks.scss b/docs/src/styles/tweaks.scss deleted file mode 100644 index 4be11a4a4..000000000 --- a/docs/src/styles/tweaks.scss +++ /dev/null @@ -1,100 +0,0 @@ -// .redocusaurus { -// div[data-section-id] { -// min-height: auto; -// } -// } - -// [class*="docItemCol_"] { -// @apply p-4 lg:px-16 lg:py-4; -// } - -// [class*="breadcrumbsContainer_"] { -// margin-bottom: 40px !important; -// } - -// .theme-doc-footer { -// margin-top: 40px; -// margin-bottom: 20px; -// } - -// .menu.thin-scrollbar { -// padding: 32px 10px; -// } - -// [class*="iconExternalLink_"] { -// display: none; -// } - -// .navbar { -// @apply px-0 lg:h-16 border-b border-gray-200 dark:border-gray-800 bg-white/50 backdrop-blur-lg dark:bg-black/50 shadow-none; - -// .navbar__toggle { -// width: 24px; -// } - -// .navbar-sidebar__backdrop { -// height: 100dvh; -// } - -// .navbar-sidebar { -// height: 100dvh; -// .navbar-sidebar__close { -// width: 14px; -// } -// } - -// .navbar__title { -// @apply text-lg; -// } -// .navbar__brand { -// margin-right: 24px; -// &:hover { -// color: inherit; -// } -// } -// .navbar__inner { -// @apply container; -// } -// } - -// .breadcrumbs__item { -// position: relative; -// &:first-child { -// .breadcrumbs__link { -// vertical-align: middle; -// margin-top: -2px; -// } -// } -// } - -// [class*="docMainContainer_"], -// [class*="docSidebarContainer_"] { -// @apply bg-gray-50 dark:bg-gray-950/95; -// } - -// .navbar-sidebar { -// @apply bg-gray-50 dark:bg-gray-900; -// } - -// .theme-doc-sidebar-container { -// @apply border-gray-200 dark:border-gray-800; -// } - -// .theme-doc-markdown { -// a { -// @apply text-blue-600 dark:text-blue-400; -// } -// ul { -// list-style: revert; -// } -// ol { -// list-style: decimal; -// } -// ul, -// ol { -// padding-left: 16px; -// li { -// @apply leading-loose; -// } -// } -// } diff --git a/docs/src/styles/tweaks/sidebar.scss b/docs/src/styles/tweaks/sidebar.scss index 8784bbee4..beb5fcd79 100644 --- a/docs/src/styles/tweaks/sidebar.scss +++ b/docs/src/styles/tweaks/sidebar.scss @@ -3,6 +3,7 @@ [class*="docSidebarContainer_"] { margin-top: 0 !important; + border-color: #1f2937 !important; } [class*="sidebar_"] { @@ -10,7 +11,7 @@ } [class*="sidebarViewport_"] { - top: 64px !important; + top: 80px !important; height: unset !important; } @@ -20,5 +21,13 @@ // * Including custom sidebar table of content .table-of-contents { - @apply text-base py-0; + @apply text-base py-0 border-gray-800; +} + +.menu__caret:before { + background: var(--ifm-menu-link-sublist-icon) 50% / 1.5rem 1.5rem; +} + +[class*="codeBlockContainer_"] { + margin: 4px; } From 7ee1c852925c2715a8f74058a69abae852cdb50a Mon Sep 17 00:00:00 2001 From: Faisal Amir Date: Tue, 21 Nov 2023 04:40:27 +0700 Subject: [PATCH 07/20] Fix anchor link sidebar api docs --- docs/babel.config.js | 2 +- docs/docusaurus.config.js | 14 +- docs/openapi/NitroAPI.yaml | 36 +- docs/openapi/OpenAIAPI.yaml | 22 +- docs/package.json | 28 +- docs/sidebars.js | 19 +- docs/src/containers/DownloadButton/index.js | 2 +- docs/src/containers/Footer/index.js | 2 +- .../containers/Homepage/Architecture/index.js | 12 + .../src/containers/Homepage/GetNitro/index.js | 10 +- docs/src/containers/Homepage/OpenAI/index.js | 50 +- .../containers/Homepage/Statistic/index.js | 3 +- docs/src/hooks/useClipboard.js | 2 +- docs/src/styles/components/base.scss | 5 +- docs/src/styles/main.scss | 1 + docs/src/styles/tweaks/navbar.scss | 4 +- docs/src/styles/tweaks/redocusaurus.scss | 5 + docs/src/theme/Layout/index.js | 6 +- docs/src/theme/Layout/styles.module.scss | 2 +- docs/yarn.lock | 2630 ++++++++--------- 20 files changed, 1464 insertions(+), 1391 deletions(-) create mode 100644 docs/src/styles/tweaks/redocusaurus.scss diff --git a/docs/babel.config.js b/docs/babel.config.js index e00595dae..bfd75dbdf 100644 --- a/docs/babel.config.js +++ b/docs/babel.config.js @@ -1,3 +1,3 @@ module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], + presets: [require.resolve("@docusaurus/core/lib/babel/preset")], }; diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index c235f248b..791259579 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -1,9 +1,11 @@ // @ts-check // Note: type annotations allow type checking and IDEs autocompletion +import path from "path"; + require("dotenv").config(); -const codeTheme = require("prism-react-renderer/themes/duotoneDark"); +import { themes as prismThemes } from "prism-react-renderer"; /** @type {import('@docusaurus/types').Config} */ const config = { @@ -70,7 +72,7 @@ const config = { // Will be passed to @docusaurus/plugin-content-docs (false to disable) docs: { routeBasePath: "/", - sidebarPath: require.resolve("./sidebars.js"), + sidebarPath: "./sidebars.js", editUrl: "https://github.com/janhq/nitro/tree/main/docs", showLastUpdateAuthor: true, showLastUpdateTime: true, @@ -89,7 +91,7 @@ const config = { }, // Will be passed to @docusaurus/theme-classic. theme: { - customCss: require.resolve("./src/styles/main.scss"), + customCss: "./src/styles/main.scss", }, // Will be passed to @docusaurus/plugin-content-pages (false to disable) // pages: {}, @@ -99,6 +101,7 @@ const config = { [ "redocusaurus", { + config: path.join(__dirname, "redocly.yaml"), specs: [ { spec: "openapi/NitroAPI.yaml", // can be local file, url, or parsed json object @@ -160,12 +163,13 @@ const config = { ], }, prism: { - theme: codeTheme, + theme: prismThemes.duotoneDark, + darkTheme: prismThemes.duotoneDark, additionalLanguages: ["python"], }, colorMode: { defaultMode: "dark", - disableSwitch: true, + disableSwitch: false, respectPrefersColorScheme: false, }, }), diff --git a/docs/openapi/NitroAPI.yaml b/docs/openapi/NitroAPI.yaml index bc952bfc5..3b85557d3 100644 --- a/docs/openapi/NitroAPI.yaml +++ b/docs/openapi/NitroAPI.yaml @@ -40,7 +40,7 @@ paths: # under the appropriate group /healthz: get: - operationId: HeathCheck + operationId: heathCheck tags: - Health Check summary: Check the status of Nitro Server. @@ -171,7 +171,7 @@ paths: requestBody: content: application/json: - schema: + schema: $ref: "#/components/schemas/ChatCompletionRequest" x-codeSamples: - lang: "curl" @@ -255,7 +255,7 @@ components: default: "ASSISTANT:" nullable: true description: The prefix for assistant prompt. - + required: - llama_model_path @@ -493,7 +493,14 @@ components: description: Array representing the embedding vector items: type: arrays - example: [0.067819312214851379,0.17273959517478943,-0.31053683161735535, ... ,0.36176943778991699] + example: + [ + 0.067819312214851379, + 0.17273959517478943, + -0.31053683161735535, + ..., + 0.36176943778991699, + ] index: type: integer description: Index of the embedding in the array @@ -523,38 +530,40 @@ components: description: Total number of tokens involved in the operation example: 533 - - ChatCompletionRequest: type: object properties: messages: type: arrays description: Contains input data or prompts for the model to process - example: [{"content": "Hello there :wave:","role": "assistant"},{"content": "Can you write a long story","role": "user"}] + example: + [ + { "content": "Hello there :wave:", "role": "assistant" }, + { "content": "Can you write a long story", "role": "user" }, + ] stream: type: boolean - default: true + default: true description: Enables continuous output generation, allowing for streaming of model responses. model: type: string - example: "gpt-3.5-turbo" + example: "gpt-3.5-turbo" description: Specifies the model being used for inference or processing tasks. max_tokens: type: number - default: 2048 + default: 2048 description: The maximum number of tokens the model will generate in a single response stop: type: arrays - example: ['hello'] + example: ["hello"] description: Defines specific tokens or phrases at which the model will stop generating further output. frequency_penalty: type: number - default: 0 + default: 0 description: Adjusts the likelihood of the model repeating words or phrases in its output. presence_penalty: type: number - default: 0 + default: 0 description: Influences the generation of new and varied concepts in the model's output temperature: type: number @@ -631,6 +640,5 @@ components: type: integer example: 533 description: Total number of tokens used - ################################### ################################# diff --git a/docs/openapi/OpenAIAPI.yaml b/docs/openapi/OpenAIAPI.yaml index bd4a9cab1..d6a9faa17 100644 --- a/docs/openapi/OpenAIAPI.yaml +++ b/docs/openapi/OpenAIAPI.yaml @@ -5320,7 +5320,6 @@ components: scheme: "bearer" schemas: - LoadModelRequest: type: object properties: @@ -5377,7 +5376,7 @@ components: default: "ASSISTANT:" nullable: true description: The prefix for assistant prompt. - + required: - llama_model_path @@ -5599,7 +5598,8 @@ components: properties: embedding: type: array - example: [-0.987474262714386,0.29654932022094727,0.19979725778102875,...] + example: + [-0.987474262714386, 0.29654932022094727, 0.19979725778102875, ...] description: The list of embeddings generated by the model. ChatCompletionRequest: @@ -5621,27 +5621,27 @@ components: ] stream: type: boolean - default: true + default: true description: Enables continuous output generation, allowing for streaming of model responses. model: type: string - example: "gpt-3.5-turbo" + example: "gpt-3.5-turbo" description: Specifies the model being used for inference or processing tasks. max_tokens: type: number - default: 2048 + default: 2048 description: The maximum number of tokens the model will generate in a single response stop: type: arrays - example: ['hello'] + example: ["hello"] description: Defines specific tokens or phrases at which the model will stop generating further output. frequency_penalty: type: number - default: 0 + default: 0 description: Adjusts the likelihood of the model repeating words or phrases in its output. presence_penalty: type: number - default: 0 + default: 0 description: Influences the generation of new and varied concepts in the model's output temperature: type: number @@ -5657,7 +5657,7 @@ components: type: string example: Hello, I am an AI. description: The list of text generated by the model. -################################### + ################################### Error: type: object properties: @@ -9868,4 +9868,4 @@ x-oaiMeta: path: object - type: endpoint key: createEdit - path: create \ No newline at end of file + path: create diff --git a/docs/package.json b/docs/package.json index d68ba33f0..75ddf75e9 100644 --- a/docs/package.json +++ b/docs/package.json @@ -14,35 +14,33 @@ "write-heading-ids": "docusaurus write-heading-ids" }, "dependencies": { - "@docusaurus/core": "^2.4.3", - "@docusaurus/preset-classic": "^2.4.3", - "@docusaurus/theme-live-codeblock": "^2.4.3", - "@docusaurus/theme-mermaid": "^2.4.3", + "@docusaurus/core": "^3.0.0", + "@docusaurus/preset-classic": "^3.0.0", + "@docusaurus/theme-common": "^3.0.0", + "@docusaurus/theme-live-codeblock": "^3.0.0", + "@docusaurus/theme-mermaid": "^3.0.0", + "@docusaurus/utils": "^3.0.0", "@headlessui/react": "^1.7.17", "@heroicons/react": "^2.0.18", - "@mdx-js/react": "^1.6.22", + "@mdx-js/react": "^3.0.0", "autoprefixer": "^10.4.16", "axios": "^1.5.1", - "clsx": "^1.2.1", - "@docusaurus/plugin-content-docs": "2.4.3", - "docusaurus-plugin-redoc": "^2.0.0", + "clsx": "^2.0.0", "docusaurus-plugin-sass": "^0.2.5", - "docusaurus-theme-redoc": "^2.0.0", - "js-yaml": "^4.1.0", "postcss": "^8.4.30", "posthog-docusaurus": "^2.0.0", - "prism-react-renderer": "^1.3.5", - "react": "^17.0.2", - "react-dom": "^17.0.2", + "prism-react-renderer": "^2.2.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", "react-icons": "^4.11.0", - "redocusaurus": "^2.0.0", "react-syntax-highlighter": "^15.5.0", + "redocusaurus": "^2.0.0", "sass": "^1.69.3", "tailwind-merge": "^2.0.0", "tailwindcss": "^3.3.3" }, "devDependencies": { - "@docusaurus/module-type-aliases": "2.4.1", + "@docusaurus/module-type-aliases": "3.0.0", "dotenv": "^16.3.1", "tailwindcss-animate": "^1.0.7" }, diff --git a/docs/sidebars.js b/docs/sidebars.js index af8dbd21e..73798554c 100644 --- a/docs/sidebars.js +++ b/docs/sidebars.js @@ -23,17 +23,17 @@ const sidebars = { label: "Introduction", collapsible: false, collapsed: false, - items: [ - { type: "doc", id: "new/about", label: "About Nitro" }, - { type: "doc", id: "new/quickstart", label: "Quickstart" }, - { type: "doc", id: "new/install", label: "Installation" }, - "new/build-source" - ], + items: [ + { type: "doc", id: "new/about", label: "About Nitro" }, + { type: "doc", id: "new/quickstart", label: "Quickstart" }, + { type: "doc", id: "new/install", label: "Installation" }, + "new/build-source", + ], }, { - type: 'category', - label: 'Features', - link: { type: "doc", id: "features/feat"}, + type: "category", + label: "Features", + link: { type: "doc", id: "features/feat" }, items: [ "features/chat", "features/embed", @@ -72,5 +72,4 @@ const sidebars = { // ] }; - module.exports = sidebars; diff --git a/docs/src/containers/DownloadButton/index.js b/docs/src/containers/DownloadButton/index.js index 28ec99a77..96f876560 100644 --- a/docs/src/containers/DownloadButton/index.js +++ b/docs/src/containers/DownloadButton/index.js @@ -111,7 +111,7 @@ export default function DownloadButton() { className="cursor-pointer w-64 relative inline-flex items-center rounded-l-md border-0 px-3.5 py-2.5 text-base font-semibold text-white bg-blue-600 hover:bg-blue-500 hover:text-white" href={defaultSystem.href} > - Logo + Logo {defaultSystem.name} diff --git a/docs/src/containers/Footer/index.js b/docs/src/containers/Footer/index.js index 5b6ffcaef..01fa88735 100644 --- a/docs/src/containers/Footer/index.js +++ b/docs/src/containers/Footer/index.js @@ -65,7 +65,7 @@ export default function Footer() {
      Nitro
      -
      +

      A fast, lightweight (3mb) inference server to supercharge apps with local AI. diff --git a/docs/src/containers/Homepage/Architecture/index.js b/docs/src/containers/Homepage/Architecture/index.js index fb11fd734..4a2b4c120 100644 --- a/docs/src/containers/Homepage/Architecture/index.js +++ b/docs/src/containers/Homepage/Architecture/index.js @@ -25,6 +25,9 @@ export default function Architecture() {

      Authentication

      +

      + Coming Soon +

      Batching

      @@ -49,6 +52,9 @@ export default function Architecture() {

      TensorRT-LLM

      +

      + Coming Soon +

      @@ -56,12 +62,18 @@ export default function Architecture() {
      Speech

      Whisper.cpp

      +

      + Coming Soon +

      Vision

      StableDiffusion

      +

      + Coming Soon +

      diff --git a/docs/src/containers/Homepage/GetNitro/index.js b/docs/src/containers/Homepage/GetNitro/index.js index 59c7570dd..560409f22 100644 --- a/docs/src/containers/Homepage/GetNitro/index.js +++ b/docs/src/containers/Homepage/GetNitro/index.js @@ -5,12 +5,15 @@ import theme from "react-syntax-highlighter/dist/esm/styles/prism/duotone-dark"; import { twMerge } from "tailwind-merge"; +import { useClipboard } from "@site/src/hooks/useClipboard"; + export default function GetNitro() { const codeStringShell = `curl -fsSL https://nitro.jan.ai/install -o get-nitro.sh`; const codeStringNpm = `npm install nitro`; const codeStringPython = `pip install nitro`; const [packageInstall, setPackageInstall] = useState("Shell script"); + const clipboard = useClipboard(); const options = ["Shell script", "NPM", "Python"]; @@ -51,8 +54,11 @@ export default function GetNitro() { {renderSyntax(packageInstall)} -
      - Copy +
      clipboard.copy(renderSyntax(packageInstall))} + > + {clipboard.copied ? "Copied" : "Copy"}
      ); diff --git a/docs/src/containers/Homepage/OpenAI/index.js b/docs/src/containers/Homepage/OpenAI/index.js index c06bc8565..4f05021ec 100644 --- a/docs/src/containers/Homepage/OpenAI/index.js +++ b/docs/src/containers/Homepage/OpenAI/index.js @@ -3,7 +3,11 @@ import React from "react"; import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"; import theme from "react-syntax-highlighter/dist/esm/styles/prism/duotone-dark"; +import { useClipboard } from "@site/src/hooks/useClipboard"; + export default function OpenAI() { + const clipboard = useClipboard(); + const codeStringOpenAI = `curl http://localhost:3928/inferences/llamacpp/chat_completion -H "Content-Type: application/json" -d '{ @@ -50,15 +54,31 @@ export default function OpenAI() {
      Element Lines
      -
      -
      +
      +

      POST

      -

      https://api.openai.com/v1/chat/completions

      +

      + https://api.openai.com/v1/chat/completions +

      +
      +
      + clipboard.copy("https://api.openai.com/v1/chat/completions") + } + > + {clipboard.copied ? "Copied" : "Copy"}
      {codeStringOpenAI} +
      clipboard.copy(codeStringOpenAI)} + > + {clipboard.copied ? "Copied" : "Copy"} +
      @@ -70,15 +90,33 @@ export default function OpenAI() { /> Nitro
      -
      -
      +
      +

      POST

      -

      https://localhost:1337/llama.cpp/v1/chat/completions

      +

      + https://localhost:1337/llama.cpp/v1/chat/completions +

      +
      +
      + clipboard.copy( + "https://localhost:1337/llama.cpp/v1/chat/completions" + ) + } + > + {clipboard.copied ? "Copied" : "Copy"}
      {codeStringNitro} +
      clipboard.copy(codeStringNitro)} + > + {clipboard.copied ? "Copied" : "Copy"} +
      diff --git a/docs/src/containers/Homepage/Statistic/index.js b/docs/src/containers/Homepage/Statistic/index.js index 2b9f67237..dee197414 100644 --- a/docs/src/containers/Homepage/Statistic/index.js +++ b/docs/src/containers/Homepage/Statistic/index.js @@ -15,9 +15,10 @@ export default function Statistic() {
        - {tabs.map((option) => { + {tabs.map((option, i) => { return (
      • null); + const [error, setError] = useState(null); const [copied, setCopied] = useState(false); const [copyTimeout, setCopyTimeout] = useState(null); diff --git a/docs/src/styles/components/base.scss b/docs/src/styles/components/base.scss index d92614714..a11b468f0 100644 --- a/docs/src/styles/components/base.scss +++ b/docs/src/styles/components/base.scss @@ -1,8 +1,4 @@ @layer base { - html { - @apply scroll-smooth; - } - html[data-theme="light"] { // --ifm-background-color: white; // --ifm-color-primary: #2563eb; /* New Primary Blue */ @@ -34,6 +30,7 @@ @apply antialiased; @apply bg-[#FAFAFA] dark:bg-[#18181B]; } + img { pointer-events: none; } diff --git a/docs/src/styles/main.scss b/docs/src/styles/main.scss index 31d4aa7ce..1fae7804a 100644 --- a/docs/src/styles/main.scss +++ b/docs/src/styles/main.scss @@ -7,6 +7,7 @@ @import "./tweaks/code-block.scss"; @import "./tweaks/breadcrumb.scss"; @import "./tweaks/markdown.scss"; +@import "./tweaks/redocusaurus.scss"; @import "./components/base.scss"; @import "./components/typography.scss"; diff --git a/docs/src/styles/tweaks/navbar.scss b/docs/src/styles/tweaks/navbar.scss index e85554ec5..85f55cddb 100644 --- a/docs/src/styles/tweaks/navbar.scss +++ b/docs/src/styles/tweaks/navbar.scss @@ -2,7 +2,7 @@ // * We just overide the styling with applied class from tailwind .navbar { - @apply my-4 bg-transparent py-0 shadow-none top-4 container; + @apply my-4 bg-transparent py-0 shadow-none top-4; &:before { width: 100%; height: 16px; @@ -14,7 +14,7 @@ } &__inner { - @apply container border border-gray-800 rounded-lg dark:bg-[#09090B]/20 backdrop-blur-md flex items-center h-14 px-8 relative; + @apply border border-gray-800 rounded-lg dark:bg-[#09090B]/20 backdrop-blur-md flex items-center h-14 px-8 relative; } &__logo { diff --git a/docs/src/styles/tweaks/redocusaurus.scss b/docs/src/styles/tweaks/redocusaurus.scss new file mode 100644 index 000000000..6edc995be --- /dev/null +++ b/docs/src/styles/tweaks/redocusaurus.scss @@ -0,0 +1,5 @@ +.redocusaurus { + .menu-content { + top: 80px !important; + } +} diff --git a/docs/src/theme/Layout/index.js b/docs/src/theme/Layout/index.js index 85119e1f5..6e6f0d11a 100644 --- a/docs/src/theme/Layout/index.js +++ b/docs/src/theme/Layout/index.js @@ -27,13 +27,17 @@ export default function Layout(props) { return ( + + + +
        Date: Tue, 21 Nov 2023 10:42:14 +0700 Subject: [PATCH 08/20] Add new language prism renderer --- docs/docs/new/quickstart.md | 20 ++++++--- docs/docusaurus.config.js | 8 ++-- .../src/containers/Homepage/GetNitro/index.js | 2 +- docs/src/containers/Homepage/OpenAI/index.js | 6 +-- docs/src/styles/components/base.scss | 43 +++++++++++-------- docs/src/styles/tweaks/navbar.scss | 2 +- 6 files changed, 46 insertions(+), 35 deletions(-) diff --git a/docs/docs/new/quickstart.md b/docs/docs/new/quickstart.md index b1bee8cac..9ec8dec69 100644 --- a/docs/docs/new/quickstart.md +++ b/docs/docs/new/quickstart.md @@ -1,19 +1,24 @@ --- title: Quickstart --- + ## Step 1: Install Nitro ### For Linux and MacOS + Open your terminal and enter the following command. This will download and install Nitro on your system. - ```bash - curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o /tmp/install.sh && chmod +x /tmp/install.sh && sudo bash /tmp/install.sh --gpu && rm /tmp/install.sh - ``` + +```bash +curl -sfL https://raw.githubusercontent.com/janhq/nitro/main/install.sh -o /tmp/install.sh && chmod +x /tmp/install.sh && sudo bash /tmp/install.sh --gpu && rm /tmp/install.sh +``` ### For Windows + Open PowerShell and execute the following command. This will perform the same actions as for Linux and MacOS but is tailored for Windows. - ```bash - powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat --gpu; Remove-Item -Path 'install.bat' }" - ``` + +```bash +powershell -Command "& { Invoke-WebRequest -Uri 'https://raw.githubusercontent.com/janhq/nitro/main/install.bat' -OutFile 'install.bat'; .\install.bat --gpu; Remove-Item -Path 'install.bat' }" +``` > **NOTE:**Installing Nitro will add new files and configurations to your system to enable it to run. @@ -24,6 +29,7 @@ For a manual installation process, see: [Install from Source](install.md) Next, we need to download a model. For this example, we'll use the [Llama2 7B chat model](https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF/tree/main). - Create a `/model` and navigate into it: + ```bash mkdir model && cd model wget -O llama-2-7b-model.gguf https://huggingface.co/TheBloke/Llama-2-7B-Chat-GGUF/resolve/main/llama-2-7b-chat.Q5_K_M.gguf?download=true @@ -78,4 +84,4 @@ curl http://localhost:3928/v1/chat/completions \ This command sends a request to Nitro, asking it about the 2020 World Series winner. -- As you can see, A key benefit of Nitro is its alignment with [OpenAI's API structure](https://platform.openai.com/docs/guides/text-generation?lang=curl). Its inference call syntax closely mirrors that of OpenAI's API, facilitating an easier shift for those accustomed to OpenAI's framework. \ No newline at end of file +- As you can see, A key benefit of Nitro is its alignment with [OpenAI's API structure](https://platform.openai.com/docs/guides/text-generation?lang=curl). Its inference call syntax closely mirrors that of OpenAI's API, facilitating an easier shift for those accustomed to OpenAI's framework. diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 791259579..4019da0b4 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -5,7 +5,7 @@ import path from "path"; require("dotenv").config(); -import { themes as prismThemes } from "prism-react-renderer"; +const codeTheme = require("prism-react-renderer").themes.dracula; /** @type {import('@docusaurus/types').Config} */ const config = { @@ -163,9 +163,9 @@ const config = { ], }, prism: { - theme: prismThemes.duotoneDark, - darkTheme: prismThemes.duotoneDark, - additionalLanguages: ["python"], + theme: codeTheme, + darkTheme: codeTheme, + additionalLanguages: ["python", "powershell", "bash"], }, colorMode: { defaultMode: "dark", diff --git a/docs/src/containers/Homepage/GetNitro/index.js b/docs/src/containers/Homepage/GetNitro/index.js index 560409f22..817465c2e 100644 --- a/docs/src/containers/Homepage/GetNitro/index.js +++ b/docs/src/containers/Homepage/GetNitro/index.js @@ -1,7 +1,7 @@ import React, { useState } from "react"; import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"; -import theme from "react-syntax-highlighter/dist/esm/styles/prism/duotone-dark"; +import theme from "react-syntax-highlighter/dist/esm/styles/prism/darcula"; import { twMerge } from "tailwind-merge"; diff --git a/docs/src/containers/Homepage/OpenAI/index.js b/docs/src/containers/Homepage/OpenAI/index.js index 4f05021ec..f6aa43977 100644 --- a/docs/src/containers/Homepage/OpenAI/index.js +++ b/docs/src/containers/Homepage/OpenAI/index.js @@ -1,7 +1,7 @@ import React from "react"; import { Prism as SyntaxHighlighter } from "react-syntax-highlighter"; -import theme from "react-syntax-highlighter/dist/esm/styles/prism/duotone-dark"; +import theme from "react-syntax-highlighter/dist/esm/styles/prism/dracula"; import { useClipboard } from "@site/src/hooks/useClipboard"; @@ -50,7 +50,7 @@ export default function OpenAI() {

        -
        +
        Element Lines
        @@ -81,7 +81,7 @@ export default function OpenAI() {
        -
        +
        Date: Tue, 21 Nov 2023 12:30:43 +0700 Subject: [PATCH 09/20] Cleanup light version --- docs/src/containers/Footer/index.js | 2 +- .../containers/Homepage/Architecture/index.js | 36 ++++---- .../src/containers/Homepage/GetNitro/index.js | 26 +++--- .../containers/Homepage/MultiModal/index.js | 14 +-- docs/src/containers/Homepage/OpenAI/index.js | 20 +++-- .../src/containers/Homepage/Platform/index.js | 30 +++---- .../containers/Homepage/Statistic/index.js | 34 ++++--- docs/src/pages/index.js | 6 +- docs/src/styles/components/base.scss | 4 +- docs/src/styles/tweaks/navbar.scss | 4 +- docs/src/styles/tweaks/redocusaurus.scss | 18 ++++ docs/src/styles/tweaks/sidebar.scss | 8 +- docs/static/img/platforms/cross-cpus.svg | 89 +++++++------------ docs/static/img/platforms/cross-gpus.svg | 54 ++++------- 14 files changed, 168 insertions(+), 177 deletions(-) diff --git a/docs/src/containers/Footer/index.js b/docs/src/containers/Footer/index.js index 01fa88735..0a98a9e89 100644 --- a/docs/src/containers/Footer/index.js +++ b/docs/src/containers/Footer/index.js @@ -55,7 +55,7 @@ const getCurrentYear = new Date().getFullYear(); export default function Footer() { return ( -