Merge branch 'dev' into eckartal-patch-2

This commit is contained in:
Henry 2024-03-20 06:34:16 +09:00 committed by GitHub
commit 681510956e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
264 changed files with 7238 additions and 3007 deletions

View File

@ -22,6 +22,7 @@ on:
branches:
- main
- dev
- release/**
paths:
- "electron/**"
- .github/workflows/jan-electron-linter-and-test.yml
@ -67,16 +68,17 @@ jobs:
test-on-windows:
strategy:
fail-fast: false
matrix:
antivirus-tools: ['mcafee', 'default-windows-security','bit-defender']
runs-on: windows-desktop-${{ matrix.antivirus-tools }}
steps:
- name: Clean workspace
run: |
Remove-Item -Path .\* -Force -Recurse
Remove-Item -Path "\\?\$(Get-Location)\*" -Force -Recurse
$path = "$Env:APPDATA\jan"
if (Test-Path $path) {
Remove-Item $path -Recurse -Force
Remove-Item "\\?\$path" -Recurse -Force
} else {
Write-Output "Folder does not exist."
}

View File

@ -43,31 +43,31 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute
<tr style="text-align:center">
<td style="text-align:center"><b>Stable (Recommended)</b></td>
<td style="text-align:center">
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-win-x64-0.4.8.exe'>
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-win-x64-0.4.9.exe'>
<img src='./docs/static/img/windows.png' style="height:14px; width: 14px" />
<b>jan.exe</b>
</a>
</td>
<td style="text-align:center">
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-x64-0.4.8.dmg'>
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-x64-0.4.9.dmg'>
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
<b>Intel</b>
</a>
</td>
<td style="text-align:center">
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-mac-arm64-0.4.8.dmg'>
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-mac-arm64-0.4.9.dmg'>
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
<b>M1/M2</b>
</a>
</td>
<td style="text-align:center">
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-linux-amd64-0.4.8.deb'>
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-linux-amd64-0.4.9.deb'>
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
<b>jan.deb</b>
</a>
</td>
<td style="text-align:center">
<a href='https://github.com/janhq/jan/releases/download/v0.4.8/jan-linux-x86_64-0.4.8.AppImage'>
<a href='https://github.com/janhq/jan/releases/download/v0.4.9/jan-linux-x86_64-0.4.9.AppImage'>
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
<b>jan.AppImage</b>
</a>
@ -76,31 +76,31 @@ Jan is an open-source ChatGPT alternative that runs 100% offline on your compute
<tr style="text-align:center">
<td style="text-align:center"><b>Experimental (Nightly Build)</b></td>
<td style="text-align:center">
<a href='https://delta.jan.ai/latest/jan-win-x64-0.4.8-324.exe'>
<a href='https://delta.jan.ai/latest/jan-win-x64-0.4.9-336.exe'>
<img src='./docs/static/img/windows.png' style="height:14px; width: 14px" />
<b>jan.exe</b>
</a>
</td>
<td style="text-align:center">
<a href='https://delta.jan.ai/latest/jan-mac-x64-0.4.8-324.dmg'>
<a href='https://delta.jan.ai/latest/jan-mac-x64-0.4.9-336.dmg'>
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
<b>Intel</b>
</a>
</td>
<td style="text-align:center">
<a href='https://delta.jan.ai/latest/jan-mac-arm64-0.4.8-324.dmg'>
<a href='https://delta.jan.ai/latest/jan-mac-arm64-0.4.9-336.dmg'>
<img src='./docs/static/img/mac.png' style="height:15px; width: 15px" />
<b>M1/M2</b>
</a>
</td>
<td style="text-align:center">
<a href='https://delta.jan.ai/latest/jan-linux-amd64-0.4.8-324.deb'>
<a href='https://delta.jan.ai/latest/jan-linux-amd64-0.4.9-336.deb'>
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
<b>jan.deb</b>
</a>
</td>
<td style="text-align:center">
<a href='https://delta.jan.ai/latest/jan-linux-x86_64-0.4.8-324.AppImage'>
<a href='https://delta.jan.ai/latest/jan-linux-x86_64-0.4.9-336.AppImage'>
<img src='./docs/static/img/linux.png' style="height:14px; width: 14px" />
<b>jan.AppImage</b>
</a>
@ -327,6 +327,7 @@ Jan builds on top of other open-source projects:
- [llama.cpp](https://github.com/ggerganov/llama.cpp)
- [LangChain](https://github.com/langchain-ai)
- [TensorRT](https://github.com/NVIDIA/TensorRT)
- [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM)
## Contact

View File

@ -46,7 +46,7 @@
},
"devDependencies": {
"@types/jest": "^29.5.12",
"@types/node": "^12.0.2",
"@types/node": "^20.11.4",
"eslint": "8.57.0",
"eslint-plugin-jest": "^27.9.0",
"jest": "^29.7.0",

View File

@ -33,7 +33,7 @@ export enum AppRoute {
stopServer = 'stopServer',
log = 'log',
logServer = 'logServer',
systemInformations = 'systemInformations',
systemInformation = 'systemInformation',
showToast = 'showToast',
}
@ -95,6 +95,8 @@ export enum FileManagerRoute {
getUserHomePath = 'getUserHomePath',
fileStat = 'fileStat',
writeBlob = 'writeBlob',
mkdir = 'mkdir',
rm = 'rm',
}
export type ApiFunction = (...args: any[]) => any

View File

@ -1,4 +1,4 @@
import { DownloadRequest, FileStat, NetworkConfig } from './types'
import { DownloadRequest, FileStat, NetworkConfig, SystemInformation } from './types'
/**
* Execute a extension module function in main process
@ -110,7 +110,8 @@ const isSubdirectory: (from: string, to: string) => Promise<boolean> = (from: st
* Get system information
* @returns {Promise<any>} - A promise that resolves with the system information.
*/
const systemInformations: () => Promise<any> = () => global.core.api?.systemInformations()
const systemInformation: () => Promise<SystemInformation> = () =>
global.core.api?.systemInformation()
/**
* Show toast message from browser processes.
@ -146,7 +147,7 @@ export {
log,
isSubdirectory,
getUserHomePath,
systemInformations,
systemInformation,
showToast,
FileStat,
}

View File

@ -19,6 +19,7 @@ export interface Compatibility {
const ALL_INSTALLATION_STATE = [
'NotRequired', // not required.
'Installed', // require and installed. Good to go.
'Updatable', // require and installed but need to be updated.
'NotInstalled', // require to be installed.
'Corrupted', // require but corrupted. Need to redownload.
] as const
@ -59,6 +60,13 @@ export abstract class BaseExtension implements ExtensionType {
return undefined
}
/**
* Determine if the extension is updatable.
*/
updatable(): boolean {
return false
}
/**
* Determine if the prerequisites for the extension are installed.
*

View File

@ -1,4 +1,4 @@
import { executeOnMain, getJanDataFolderPath, joinPath } from '../../core'
import { executeOnMain, getJanDataFolderPath, joinPath, systemInformation } from '../../core'
import { events } from '../../events'
import { Model, ModelEvent } from '../../types'
import { OAIEngine } from './OAIEngine'
@ -30,11 +30,11 @@ export abstract class LocalOAIEngine extends OAIEngine {
if (model.engine.toString() !== this.provider) return
const modelFolder = await joinPath([await getJanDataFolderPath(), this.modelFolder, model.id])
const systemInfo = await systemInformation()
const res = await executeOnMain(this.nodeModule, this.loadModelFunctionName, {
modelFolder,
model,
})
}, systemInfo)
if (res?.error) {
events.emit(ModelEvent.OnModelFail, {

View File

@ -1,5 +1,5 @@
import { BaseExtension, ExtensionTypeEnum } from '../extension'
import { GpuSetting, MonitoringInterface } from '../index'
import { GpuSetting, MonitoringInterface, OperatingSystemInfo } from '../index'
/**
* Monitoring extension for system monitoring.
@ -16,4 +16,5 @@ export abstract class MonitoringExtension extends BaseExtension implements Monit
abstract getGpuSetting(): Promise<GpuSetting>
abstract getResourcesInfo(): Promise<any>
abstract getCurrentLoad(): Promise<any>
abstract getOsInfo(): Promise<OperatingSystemInfo>
}

View File

@ -37,12 +37,17 @@ const readdirSync = (...args: any[]) => global.core.api?.readdirSync(...args)
*/
const mkdirSync = (...args: any[]) => global.core.api?.mkdirSync(...args)
const mkdir = (...args: any[]) => global.core.api?.mkdir(...args)
/**
* Removes a directory at the specified path.
* @returns {Promise<any>} A Promise that resolves when the directory is removed successfully.
*/
const rmdirSync = (...args: any[]) =>
global.core.api?.rmdirSync(...args, { recursive: true, force: true })
const rm = (path: string) => global.core.api?.rm(path)
/**
* Deletes a file from the local file system.
* @param {string} path - The path of the file to delete.
@ -92,7 +97,9 @@ export const fs = {
existsSync,
readdirSync,
mkdirSync,
mkdir,
rmdirSync,
rm,
unlinkSync,
appendFileSync,
copyFileSync,

View File

@ -88,4 +88,28 @@ export class FSExt implements Processor {
})
})
}
mkdir(path: string): Promise<void> {
return new Promise((resolve, reject) => {
fs.mkdir(path, { recursive: true }, (err) => {
if (err) {
reject(err)
} else {
resolve()
}
})
})
}
rm(path: string): Promise<void> {
return new Promise((resolve, reject) => {
fs.rm(path, { recursive: true }, (err) => {
if (err) {
reject(err)
} else {
resolve()
}
})
})
}
}

View File

@ -93,8 +93,7 @@ export function persistExtensions() {
*/
export async function installExtensions(extensions: any) {
const installed: Extension[] = []
for (const ext of extensions) {
// Set install options and activation based on input type
const installations = extensions.map((ext: any): Promise<void> => {
const isObject = typeof ext === 'object'
const spec = isObject ? [ext.specifier, ext] : [ext]
const activate = isObject ? ext.activate !== false : true
@ -102,15 +101,17 @@ export async function installExtensions(extensions: any) {
// Install and possibly activate extension
const extension = new Extension(...spec)
if (!extension.origin) {
continue
return Promise.resolve()
}
await extension._install()
if (activate) extension.setActive(true)
return extension._install().then(() => {
if (activate) extension.setActive(true)
// Add extension to store if needed
addExtension(extension)
installed.push(extension)
})
})
// Add extension to store if needed
addExtension(extension)
installed.push(extension)
}
await Promise.all(installations)
// Return list of all installed extensions
return installed

View File

@ -82,26 +82,34 @@ export const getJanExtensionsPath = (): string => {
*/
export const physicalCpuCount = async (): Promise<number> => {
const platform = os.platform()
if (platform === 'linux') {
const output = await exec('lscpu -p | egrep -v "^#" | sort -u -t, -k 2,4 | wc -l')
return parseInt(output.trim(), 10)
} else if (platform === 'darwin') {
const output = await exec('sysctl -n hw.physicalcpu_max')
return parseInt(output.trim(), 10)
} else if (platform === 'win32') {
const output = await exec('WMIC CPU Get NumberOfCores')
return output
.split(os.EOL)
.map((line: string) => parseInt(line))
.filter((value: number) => !isNaN(value))
.reduce((sum: number, number: number) => sum + number, 1)
} else {
const cores = os.cpus().filter((cpu: any, index: number) => {
const hasHyperthreading = cpu.model.includes('Intel')
const isOdd = index % 2 === 1
return !hasHyperthreading || isOdd
})
return cores.length
try {
if (platform === 'linux') {
const output = await exec('lscpu -p | egrep -v "^#" | sort -u -t, -k 2,4 | wc -l')
return parseInt(output.trim(), 10)
} else if (platform === 'darwin') {
const output = await exec('sysctl -n hw.physicalcpu_max')
return parseInt(output.trim(), 10)
} else if (platform === 'win32') {
const output = await exec('WMIC CPU Get NumberOfCores')
return output
.split(os.EOL)
.map((line: string) => parseInt(line))
.filter((value: number) => !isNaN(value))
.reduce((sum: number, number: number) => sum + number, 1)
} else {
const cores = os.cpus().filter((cpu: any, index: number) => {
const hasHyperthreading = cpu.model.includes('Intel')
const isOdd = index % 2 === 1
return !hasHyperthreading || isOdd
})
return cores.length
}
} catch (err) {
console.warn('Failed to get physical CPU count', err)
// Divide by 2 to get rid of hyper threading
const coreCount = Math.ceil(os.cpus().length / 2)
console.debug('Using node API to get physical CPU count:', coreCount)
return coreCount
}
}
@ -118,7 +126,7 @@ const exec = async (command: string): Promise<string> => {
}
export const getEngineConfiguration = async (engineId: string) => {
if (engineId !== 'openai') {
if (engineId !== 'openai' && engineId !== 'groq') {
return undefined
}
const directoryPath = join(getJanDataFolderPath(), 'engines')

View File

@ -1,6 +1,6 @@
import { SystemResourceInfo } from '../../types'
import { physicalCpuCount } from './config'
import { log, logServer } from './log'
import { log } from './log'
export const getSystemResourceInfo = async (): Promise<SystemResourceInfo> => {
const cpu = await physicalCpuCount()

View File

@ -30,3 +30,27 @@ export type GpuSettingInfo = {
name: string
arch?: string
}
export type SystemInformation = {
gpuSetting: GpuSetting
osInfo?: OperatingSystemInfo
}
export const SupportedPlatforms = ['win32', 'linux', 'darwin'] as const
export type SupportedPlatformTuple = typeof SupportedPlatforms
export type SupportedPlatform = SupportedPlatformTuple[number]
export type OperatingSystemInfo = {
platform: SupportedPlatform | 'unknown'
arch: string
release: string
machine: string
version: string
totalMem: number
freeMem: number
}
export type CpuCoreInfo = {
model: string
speed: number
}

View File

@ -18,6 +18,7 @@ export type ModelInfo = {
export enum InferenceEngine {
nitro = 'nitro',
openai = 'openai',
groq = 'groq',
triton_trtllm = 'triton_trtllm',
nitro_tensorrt_llm = 'nitro-tensorrt-llm',

View File

@ -5,6 +5,21 @@ slug: /postmortems/january-10-2024-bitdefender-false-positive-flag
tags: [Postmortem]
---
<head>
<title>Jan 10, 2024 Incident Postmortem - Bitdefender False Positive Flag on Jan AI Resolved</title>
<meta charSet="utf-8" />
<meta name="description" content="Comprehensive postmortem on the Jan AI v0.4.4 Bitdefender false positive incident on January 10, 2024. Learn about the investigation, solutions, and preventive measures." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, postmortem, incident, flagging issue" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/blog/postmortems/january-10-2024-bitdefender-false-positive-flag/" />
<meta property="og:title" content="Bitdefender False Positive Flag on Jan AI Resolved - Jan 10, 2024 Incident Postmortem" />
<meta property="og:description" content="Comprehensive postmortem on the Jan AI v0.4.4 Bitdefender false positive incident on January 10, 2024. Learn about the investigation, solutions, and preventive measures." />
<meta property="og:url" content="https://jan.ai/blog/postmortems/january-10-2024-bitdefender-false-positive-flag/" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
</head>
Following the recent incident related to Jan version 0.4.4 triggering Bitdefender on Windows with Gen:Variant.Tedy.258323 on January 10, 2024, we wanted to provide a comprehensive postmortem and outline the necessary follow-up actions.
## Incident Overview

View File

@ -2,6 +2,20 @@
title: Jan's Vision for 2035
---
<head>
<title>Jan's Vision for 2035</title>
<meta charset="utf-8" />
<meta name="description" content="Discover Jan's vision for the year 2035, where it aims to transform into a robotics company. Learn about its planning parameters, 10-year vision, 2-week sprint, and success measurement through Quarterly OKRs." />
<meta name="keywords" content="Jan, vision, 2035, robotics company, planning parameters, 10-year vision, 2-week sprint, Quarterly OKRs" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/jans-vision-for-2035" />
<meta property="og:title" content="Jan's Vision for 2035" />
<meta property="og:description" content="Discover Jan's vision for the year 2035, where it aims to transform into a robotics company. Learn about its planning parameters, 10-year vision, 2-week sprint, and success measurement through Quarterly OKRs." />
<meta property="og:url" content="https://jan.ai/jans-vision-for-2035" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image-jans-vision.png" />
</head>
[Jan 2035: A Robotics Company](https://hackmd.io/QIWyYbNNQVWVbupuI3kjAA)
We only have 2 planning parameters:

View File

@ -18,6 +18,20 @@ keywords:
]
---
<head>
<title>About Jan</title>
<meta charset="utf-8" />
<meta name="description" content="Discover Jan, a desktop application that turns computers into thinking machines. Learn about its features, principles, vision, and how to get involved with the Jan Labs team." />
<meta name="keywords" content="Jan, Jan AI, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, desktop application, thinking machine, about Jan" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/about" />
<meta property="og:title" content="About Jan" />
<meta property="og:description" content="Discover Jan, a desktop application that turns computers into thinking machines. Learn about its features, principles, vision, and how to get involved with the Jan Labs team." />
<meta property="og:url" content="https://jan.ai/about" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image-about-jan.png" />
</head>
Jan turns computers into thinking machines to change how we use them.
Jan is created and maintained by Jan Labs, a robotics company.

View File

@ -1,3 +1,21 @@
---
title: Frequently Asked Questions (FAQ) - Jan
---
<head>
<title>Frequently Asked Questions (FAQ)</title>
<meta charset="utf-8" />
<meta name="description" content="Explore frequently asked questions about Jan, including its features, compatibility, privacy policy, usage, and community involvement." />
<meta name="keywords" content="Jan, frequently asked questions, FAQ, about Jan, usage, compatibility, privacy, community, contribution, troubleshooting, self-hosting, hiring" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/faq" />
<meta property="og:title" content="Frequently Asked Questions (FAQ)" />
<meta property="og:description" content="Explore frequently asked questions about Jan, including its features, compatibility, privacy policy, usage, and community involvement." />
<meta property="og:url" content="https://jan.ai/faq" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image-faq.png" />
</head>
# Frequently Asked Questions (FAQ)
## What is Jan?

View File

@ -2,5 +2,19 @@
title: Roadmap
---
<head>
<title>Roadmap</title>
<meta charset="utf-8" />
<meta name="description" content="Explore Jan's roadmap to see the immediate and longer-term plans for development and features." />
<meta name="keywords" content="Jan, roadmap, development, features, immediate roadmap, longer-term roadmap, GitHub, Discord" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/roadmap" />
<meta property="og:title" content="Roadmap" />
<meta property="og:description" content="Explore Jan's roadmap to see the immediate and longer-term plans for development and features." />
<meta property="og:url" content="https://jan.ai/roadmap" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image-roadmap.png" />
</head>
- [ ] [Immediate Roadmap on Github](https://github.com/orgs/janhq/projects/5/views/16)
- [ ] [Longer-term Roadmap on Discord](https://discord.gg/Ey62mynnYr)
- [ ] [Longer-term Roadmap on Discord](https://discord.gg/Ey62mynnYr)

View File

@ -17,6 +17,17 @@ keywords:
]
---
<head>
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. Explore the third-party libraries that have contributed to the development of Jan."/>
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, acknowledgements, third-party libraries"/>
<meta property="og:title" content="Acknowledgements - Jan"/>
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. Explore the third-party libraries that have contributed to the development of Jan."/>
<meta property="og:url" content="https://jan.ai/acknowledgements"/>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Acknowledgements - Jan"/>
<meta name="twitter:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server. Explore the third-party libraries that have contributed to the development of Jan."/>
</head>
# Acknowledgements
We would like to express our gratitude to the following third-party libraries that have made the development of Jan possible.
@ -24,3 +35,4 @@ We would like to express our gratitude to the following third-party libraries th
- [llama.cpp](https://github.com/ggerganov/llama.cpp/blob/master/LICENSE)
- [LangChain.js](https://github.com/langchain-ai/langchainjs/blob/main/LICENSE)
- [TensorRT](https://github.com/NVIDIA/TensorRT/blob/main/LICENSE)
- [TensorRT-LLM](https://github.com/NVIDIA/TensorRT-LLM/blob/main/LICENSE)

View File

@ -15,6 +15,20 @@ keywords:
]
---
<head>
<title>Jan's Community</title>
<meta charset="utf-8" />
<meta name="description" content="Join Jan's community to connect with other users, stay updated, and explore career opportunities." />
<meta name="keywords" content="Jan, community, Discord, Twitter, HuggingFace, LinkedIn, Reddit, newsletter, careers" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/community" />
<meta property="og:title" content="Jan's Community" />
<meta property="og:description" content="Join Jan's community to connect with other users, stay updated, and explore career opportunities." />
<meta property="og:url" content="https://jan.ai/community" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image-community.png" />
</head>
## Socials
- [Discord](https://discord.gg/SH3DGmUs6b)

View File

@ -15,6 +15,20 @@ keywords:
]
---
<head>
<title>Jan AI Architecture - Modular and Extensible Framework</title>
<meta charSet="utf-8" />
<meta name="description" content="Discover the modular architecture of Jan, a ChatGPT alternative that runs on your own computer. Learn about Jan's local API server, Desktop UI, and the Nitro inference engine." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, modular architecture, Extensions API" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/developer/architecture/" />
<meta property="og:title" content="Jan AI Architecture - Modular and Extensible Framework" />
<meta property="og:description" content="Discover the modular architecture of Jan, a ChatGPT alternative that runs on your own computer. Learn about Jan's local API server, Desktop UI, and the Nitro inference engine." />
<meta property="og:url" content="https://jan.ai/developer/architecture/" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
</head>
:::warning
This page is still under construction, and should be read as a scratchpad

View File

@ -15,6 +15,20 @@ keywords:
]
---
<head>
<title>Jan AI File-based Data Persistence Approach</title>
<meta charSet="utf-8" />
<meta name="description" content="Learn how Jan, a ChatGPT alternative, leverages a local filesystem for data persistence, promoting composability and tinkerability similar to VSCode." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, file-based data storage, data persistence" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/developer/file-based/" />
<meta property="og:title" content="Jan AI File-based Data Persistence Approach" />
<meta property="og:description" content="Learn how Jan, a ChatGPT alternative, leverages a local filesystem for data persistence, promoting composability and tinkerability similar to VSCode." />
<meta property="og:url" content="https://jan.ai/developer/file-based/" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
</head>
:::warning
This page is still under construction, and should be read as a scratchpad

View File

@ -15,6 +15,20 @@ keywords:
]
---
<head>
<title>Jan AI User Interface - Customizable UI Kit</title>
<meta charSet="utf-8" />
<meta name="description" content="Explore Jan's UI Kit for customizing the user interface to fit your brand and style. Learn how to personalize your application with Jan's flexible UI components." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, UI Kit, customizable UI" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/developer/ui/" />
<meta property="og:title" content="Jan AI User Interface - Customizable UI Kit" />
<meta property="og:description" content="Explore Jan's UI Kit for customizing the user interface to fit your brand and style. Learn how to personalize your application with Jan's flexible UI components." />
<meta property="og:url" content="https://jan.ai/developer/ui/" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
</head>
:::warning
This page is still under construction, and should be read as a scratchpad

View File

@ -18,6 +18,20 @@ keywords:
]
---
<head>
<title>Jan AI Installation and Setup Guide - Developer Prerequisites</title>
<meta charSet="utf-8" />
<meta name="description" content="Comprehensive guide to installing and setting up Jan for development. Covers hardware, system requirements, and step-by-step instructions for developers." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, installation, prerequisites, developer setup" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/developer/prereq/" />
<meta property="og:title" content="Jan AI Installation and Setup Guide - Developer Prerequisites" />
<meta property="og:description" content="Comprehensive guide to installing and setting up Jan for development. Covers hardware, system requirements, and step-by-step instructions for developers." />
<meta property="og:url" content="https://jan.ai/developer/prereq/" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
</head>
## Requirements
### Hardware Requirements

View File

@ -15,6 +15,20 @@ keywords:
]
---
<head>
<title>Jan AI Developer Documentation - Building Extensions and SDK Overview</title>
<meta charSet="utf-8" />
<meta name="description" content="Guide for developers on building extensions on top of the Jan Framework. Learn about Jan's extensible framework for AI applications, available on all platforms." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, extensible framework, SDK, building extensions" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/developer/" />
<meta property="og:title" content="Jan AI Developer Documentation - Building Extensions and SDK Overview" />
<meta property="og:description" content="Guide for developers on building extensions on top of the Jan Framework. Learn about Jan's extensible framework for AI applications, available on all platforms." />
<meta property="og:url" content="https://jan.ai/developer/" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
</head>
The following docs are aimed at developers who want to build extensions on top of the Jan Framework.
:::tip

View File

@ -17,7 +17,20 @@ keywords:
]
---
<head>
<title>Your First Assistant</title>
<meta charset="utf-8" />
<meta name="description" content="Get started quickly with building your first assistant using Jan. Learn the basics of creating conversational AI." />
<meta name="keywords" content="Jan, build assistant, quick start, conversational AI, local AI, private AI, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/developer/build-assistant/your-first-assistant/" />
<meta property="og:title" content="Your First Assistant" />
<meta property="og:description" content="Get started quickly with building your first assistant using Jan. Learn the basics of creating conversational AI." />
<meta property="og:url" content="https://jan.ai/developer/build-assistant/your-first-assistant/" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image-first-assistant.png" />
</head>
:::caution
This is currently under development.
:::

View File

@ -17,6 +17,20 @@ keywords:
]
---
<head>
<title>Building Your First Jan AI Extension - Quick Start Guide</title>
<meta charSet="utf-8" />
<meta name="description" content="Step-by-step guide on how to build your first extension for Jan AI. Learn how to use the extension template and integrate your custom functionality into Jan." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, quick start, build extension" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/developer/build-extension/your-first-extension/" />
<meta property="og:title" content="Building Your First Jan AI Extension - Quick Start Guide" />
<meta property="og:description" content="Step-by-step guide on how to build your first extension for Jan AI. Learn how to use the extension template and integrate your custom functionality into Jan." />
<meta property="og:url" content="https://jan.ai/developer/build-extension/your-first-extension/" />
<meta property="og:type" content="article" />
<meta property="og:image" content="https://jan.ai/img/og-image.png" />
</head>
:::caution
This is currently under development.
:::
@ -76,13 +90,13 @@ There are a few things to keep in mind when writing your extension code:
In `index.ts`, you will see that the extension function will return a `Promise<any>`.
```typescript
import { core } from "@janhq/core";
import { core } from '@janhq/core'
function onStart(): Promise<any> {
return core.invokePluginFunc(MODULE_PATH, "run", 0);
return core.invokePluginFunc(MODULE_PATH, 'run', 0)
}
```
For more information about the Jan Extension Core module, see the [documentation](https://github.com/janhq/jan/blob/main/core/README.md).
Now, go ahead and start customizing your extension! Happy coding!
Now, go ahead and start customizing your extension! Happy coding!

View File

@ -1,5 +1,5 @@
---
title: "Assistants"
title: 'Assistants'
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords:
[
@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Assistants</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/assistants" />
<meta property="og:title" content="Assistants" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/assistants" />
<meta property="og:type" content="article" />
</head>
:::caution
This is currently under development.

View File

@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Chats</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/chats" />
<meta property="og:title" content="Chats" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/chats" />
<meta property="og:type" content="article" />
</head>
:::caution
This is currently under development.

View File

@ -2,6 +2,19 @@
title: Engine
---
<head>
<title>Engine</title>
<meta charset="utf-8" />
<meta name="description" content="Currently Under Development" />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/engine" />
<meta property="og:title" content="Engine" />
<meta property="og:description" content="Currently Under Development" />
<meta property="og:url" content="https://jan.ai/engine" />
<meta property="og:type" content="article" />
</head>
:::caution
Currently Under Development

View File

@ -1,5 +1,5 @@
---
title: "Files"
title: 'Files'
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords:
[
@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Files</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/files" />
<meta property="og:title" content="Files" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/files" />
<meta property="og:type" content="article" />
</head>
:::warning
Draft Specification: functionality has not been implemented yet.

View File

@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Messages</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/messages" />
<meta property="og:title" content="Messages" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/messages" />
<meta property="og:type" content="article" />
</head>
:::caution
This is currently under development.

View File

@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Models</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/models" />
<meta property="og:title" content="Models" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/models" />
<meta property="og:type" content="article" />
</head>
:::caution
This is currently under development.

View File

@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Threads</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/threads" />
<meta property="og:title" content="Threads" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/threads" />
<meta property="og:type" content="article" />
</head>
:::caution
This is currently under development.

View File

@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Chat</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/chat" />
<meta property="og:title" content="Chat" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/chat" />
<meta property="og:type" content="article" />
</head>
## Overview
A home screen for users to chat with [assistants](/docs/engineering/assistants) via conversation [threads](/docs/engineering/threads).

View File

@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Hub</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/hub" />
<meta property="og:title" content="Hub" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/hub" />
<meta property="og:type" content="article" />
</head>
## Overview
The Hub is like a store for everything, where users can discover and download models, assistants, and more.

View File

@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Jan (The Default Assistant)</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/jan" />
<meta property="og:title" content="Jan (The Default Assistant)" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/jan" />
<meta property="og:type" content="article" />
</head>
Jan ships with a default assistant "Jan" that lets users chat with any open source model out-of-the-box.
This assistant is defined in `/jan`. It is a generic assistant to illustrate power of Jan. In the future, it will support additional features e.g. multi-assistant conversations

View File

@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>Settings</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/settings" />
<meta property="og:title" content="Settings" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/settings" />
<meta property="og:type" content="article" />
</head>
## Overview
A settings page for users to add extensions, configure model settings, change app appearance, add keyboard shortcuts, and a plethora of other personalizations.

View File

@ -14,6 +14,19 @@ keywords:
]
---
<head>
<title>System Monitor</title>
<meta charset="utf-8" />
<meta name="description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/system-monitor" />
<meta property="og:title" content="System Monitor" />
<meta property="og:description" content="Jan is a ChatGPT-alternative that runs on your own computer, with a local API server." />
<meta property="og:url" content="https://jan.ai/system-monitor" />
<meta property="og:type" content="article" />
</head>
## Overview
An activity screen to monitor system health and running models.

View File

@ -1,10 +1,23 @@
---
title: "Jan's AI Hacker House (Ho Chi Minh City)"
description: "24-27 Oct 2023, District 3, HCMC. AI-focused talks, workshops and social events. Hosted by Jan.ai"
description: '24-27 Oct 2023, District 3, HCMC. AI-focused talks, workshops and social events. Hosted by Jan.ai'
slug: /events/hcmc-oct23
image: /img/hcmc-launch-party.png
---
<head>
<title>Jan's AI Hacker House (Ho Chi Minh City)</title>
<meta charset="utf-8" />
<meta name="description" content="24-27 Oct 2023, District 3, HCMC. AI-focused talks, workshops and social events. Hosted by Jan.ai" />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/events/hcmc-oct23" />
<meta property="og:title" content="Jan's AI Hacker House (Ho Chi Minh City)" />
<meta property="og:description" content="24-27 Oct 2023, District 3, HCMC. AI-focused talks, workshops and social events. Hosted by Jan.ai" />
<meta property="og:url" content="https://jan.ai/events/hcmc-oct23" />
<meta property="og:type" content="article" />
</head>
![](/img/hcmc-launch-party.png)
🎉 Join us at our Friday Launch Party for an evening of AI talks from other builders! [(RSVP here)](https://jan-launch-party.eventbrite.sg/) 🎉

View File

@ -1,21 +1,33 @@
---
title: "Nov 23: Nvidia GenAI Day"
description: Nvidia's LLM Day
title: 'Nov 23: Nvidia GenAI Day'
description: Nvidia's LLM Day
---
<head>
<title>Nov 23: Nvidia GenAI Day</title>
<meta charset="utf-8" />
<meta name="description" content="Nvidia's LLM Day" />
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model" />
<meta name="twitter:card" content="summary" />
<link rel="canonical" href="https://jan.ai/events/nvidia-genai-day" />
<meta property="og:title" content="Nov 23: Nvidia GenAI Day" />
<meta property="og:description" content="Nvidia's LLM Day" />
<meta property="og:url" content="https://jan.ai/events/nvidia-genai-day" />
<meta property="og:type" content="article" />
</head>
![](/img/nvidia-llm-day-header.png)
## Nvidia GenAI Innovation Day
Jan will be at Nvidia's GenAI Innovation Day in Nov '23, focusing on Enterprise use-cases of LLMs.
Jan will be at Nvidia's GenAI Innovation Day in Nov '23, focusing on Enterprise use-cases of LLMs.
### Location
- JW Marriott Hanoi Hotel
- JW Marriott Hanoi Hotel
- 8:30am November 8th 2023
- Registration: [https://gmcgroup.com.vn/nvidia-genai-event/](https://gmcgroup.com.vn/nvidia-genai-event/)
### Programme
![](/img/nvidia-llm-day.png)

View File

@ -1,8 +0,0 @@
{
"label": "Advanced Settings",
"position": 11,
"link": {
"type": "doc",
"id": "guides/advanced-settings/advanced-settings"
}
}

View File

@ -1,118 +0,0 @@
---
title: HTTPS Proxy
sidebar_position: 2
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
advanced-settings,
https-proxy,
]
---
## Why HTTPS Proxy?
HTTPS Proxy encrypts data between your browser and the internet, making it hard for outsiders to intercept or read. It also helps you to maintain your privacy and security while being able to bypass regional restrictions on internet.
:::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.
- HTTPS Proxy does not affect the remote model usage.
:::
## Setting Up Your Own HTTPS Proxy Server
This guide provides a simple overview of setting up an HTTPS proxy server using **Squid**, a widely used open-source proxy software.
:::note
Other software options are also available depending on your requirements.
:::
### Step 1: Choosing a Server
1. Firstly, you need to choose a server to host your proxy server.
:::note
We recommend using a well-known cloud provider service like:
- Amazon AWS
- Google Cloud
- Microsoft Azure
- Digital Ocean
:::
2. Ensure that your server has a public IP address and is accessible from the internet.
### Step 2: Installing Squid
Instal **Squid** using the following command:
```bash
sudo apt-get update
sudo apt-get install squid
```
### Step 3: Configure Squid for HTTPS
To enable HTTPS, you will need to configure Squid with SSL support.
1. Squid requires an SSL certificate to be able to handle HTTPS traffic. You can generate a self-signed certificate or obtain one from a Certificate Authority (CA). For a self-signed certificate, you can use OpenSSL:
```bash
openssl req -new -newkey rsa:2048 -days 365 -nodes -x509 -keyout squid-proxy.pem -out squid-proxy.pem
```
2. Edit the Squid configuration file `/etc/squid/squid.conf` to include the path to your SSL certificate and enable the HTTPS port:
```bash
http_port 3128 ssl-bump cert=/path/to/your/squid-proxy.pem
ssl_bump server-first all
ssl_bump bump all
```
3. To intercept HTTPS traffic, Squid uses a process called SSL Bumping. This process allows Squid to decrypt and re-encrypt HTTPS traffic. To enable SSL Bumping, ensure the `ssl_bump` directives are configured correctly in your `squid.conf` file.
### Step 4 (Optional): Configure ACLs and Authentication
1. You can define rules to control who can access your proxy. This is done by editing the squid.conf file and defining ACLs:
```bash
acl allowed_ips src "/etc/squid/allowed_ips.txt"
http_access allow allowed_ips
```
2. If you want to add an authentication layer, Squid supports several authentication schemes. Basic authentication setup might look like this:
```bash
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
```
### Step 5: Restart and Test Your Proxy
1. After configuring, restart Squid to apply the changes:
```bash
sudo systemctl restart squid
```
2. To test, configure your browser or another client to use the proxy server with its IP address and port (default is 3128).
3. Check if you can access the internet through your proxy.
:::tip
Tips for Secure Your Proxy:
- **Firewall rules**: Ensure that only intended users or IP addresses can connect to your proxy server. This can be achieved by setting up appropriate firewall rules.
- **Regular updates**: Keep your server and proxy software updated to ensure that you are protected against known vulnerabilities.
- **Monitoring and logging**: Monitor your proxy server for unusual activity and enable logging to keep track of the traffic passing through your proxy.
:::
## Setting Up Jan to Use Your HTTPS Proxy
Once you have your HTTPS proxy server set up, you can configure Jan to use it.
1. Navigate to `Settings` > `Advanced Settings` and specify the HTTPS proxy (proxy auto-configuration and SOCKS not supported).
2. You can turn on the feature `Ignore SSL Certificates` if you are using a self-signed certificate. This feature allows self-signed or unverified certificates.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

View File

Before

Width:  |  Height:  |  Size: 479 KiB

After

Width:  |  Height:  |  Size: 479 KiB

View File

Before

Width:  |  Height:  |  Size: 472 KiB

After

Width:  |  Height:  |  Size: 472 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 107 KiB

View File

@ -1,48 +0,0 @@
---
title: Best Practices
sidebar_position: 3
description: Comprehensive set of best practices.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
acknowledgements,
third-party libraries,
]
---
Jan is a versatile platform offering solutions for integrating AI locally across various platforms. This guide outlines best practices for developers, analysts, and AI enthusiasts to enhance their experience with Jan when adding AI locally to their computers. Implementing these practices will optimize the performance of AI models.
## Follow the Quickstart Guide
The [quickstart guide](quickstart.mdx) is designed to facilitate a quick setup process. It provides a clear instruction and simple steps to get you up and running with Jan.ai quickly. Even, if you are inexperienced in AI, the quickstart can offer valuable insights and tips to help you get started quickly.
## Setting up the Right Models
Jan offers a range of pre-configured AI models that are tailored to different tasks and industries. You should identify which on that aligns with your objectives. There are factors to be considered:
- Capabilities
- Accuracy
- Processing Speed
:::note
- Some of these factors also depend on your hardware, please see Hardware Requirement.
- Choosing the right model is important to achieve the best performance.
:::
## Setting up Jan
Ensure that you familiarize yourself with the Jan application. Jan offers advanced settings that you can adjust. These settings may influence how your AI behaves locally. Please see the [Advanced Settings](./advanced-settings/advanced-settings.mdx) article for a complete list of Jan's configurations and instructions on how to configure them.
## Integrations
One of Jan's key features is its ability to integrate with many systems. Whether you are incorporating Jan.ai with any open-source LLM provider or other tools, it is important to understand the integration capabilities and limitations.
## Mastering the Prompt Engineering
Prompt engineering is an important aspect when dealing with AI models to generate the desired outputs. Mastering this skill can significantly enhance the performance and the responses of the AI. Below are some tips that you can do for prompt engineering:
- Ask the model to adopt a persona
- Be specific and details get a more specific answers
- Provide examples or preference text or context at the beginning
- Use a clear and concise language
- Use certain keywords and phrases

View File

@ -1,159 +0,0 @@
---
title: Broken Build
sidebar_position: 1
hide_table_of_contents: true
description: A step-by-step guide to fix errors that prevent the project from compiling or running successfully.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
troubleshooting,
]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
This guide provides you steps to troubleshoot and to resolve the issue where your Jan is stuck in a broken build after installation.
<Tabs>
<TabItem value="mac" label="Mac" default>
### 1. Uninstall Jan
Delete Jan from your `/Applications` folder.
### 2. Delete Application Data, Cache, and User Data
```zsh
# Step 1: Delete the application data
## Newer versions
rm -rf ~/Library/Application\ Support/jan
## Versions 0.2.0 and older
rm -rf ~/Library/Application\ Support/jan-electron
# Step 2: Clear application cache
rm -rf ~/Library/Caches/jan*
# Step 3: Remove all user data
rm -rf ~/jan
```
### 3. Additional Step for Versions Before 0.4.2
If you are using a version before `0.4.2`, you need to run the following commands:
```zsh
ps aux | grep nitro
# Looks for processes like `nitro` and `nitro_arm_64`, and kill them one by one by process ID
kill -9 <PID>
```
### 4. Download the Latest Version
Download the latest version of Jan from our [homepage](https://jan.ai/).
</TabItem>
<TabItem value="windows" label="Windows">
### 1. Uninstall Jan
To uninstall Jan on Windows, use the [Windows Control Panel](https://support.microsoft.com/en-us/windows/uninstall-or-remove-apps-and-programs-in-windows-4b55f974-2cc6-2d2b-d092-5905080eaf98).
### 2. Delete Application Data, Cache, and User Data
```sh
# You can delete the `/Jan` directory in Windows's AppData Directory by visiting the following path `%APPDATA%\Jan`
cd C:\Users\YOUR_USERNAME\AppData\Roaming
rm -r ./Jan
```
### 3. Additional Step for Versions Before 0.4.2
If you are using a version before `0.4.2`, you need to run the following commands:
```sh
# Find the process ID (PID) of the nitro process by filtering the list by process name
tasklist | findstr "nitro"
# Once you have the PID of the process you want to terminate, run the `taskkill`
taskkill /F /PID <PID>
```
### 4. Download the Latest Version
Download the latest version of Jan from our [homepage](https://jan.ai/).
</TabItem>
<TabItem value="linux" label="Linux">
### 1. Uninstall Jan
<Tabs groupId = "linux_type">
<TabItem value="linux_main" label = "Linux">
To uninstall Jan, you should use your package manager's uninstall or remove option.
This will return your system to its state before the installation of Jan.
This method can also reset all settings if you are experiencing any issues with Jan.
</TabItem>
<TabItem value = "deb_ub" label = "Debian / Ubuntu">
To uninstall Jan, run the following command.MDXContent
```sh
sudo apt-get remove jan
# where jan is the name of Jan package
```
This will return your system to its state before the installation of Jan.
This method can also be used to reset all settings if you are experiencing any issues with Jan.
</TabItem>
<TabItem value = "other" label = "Others">
To uninstall Jan, you can uninstall Jan by deleting the `.AppImage` file.
If you wish to completely remove all user data associated with Jan after uninstallation, you can delete the user data at `~/jan`.
This method can also reset all settings if you are experiencing any issues with Jan.
</TabItem>
</Tabs>
### 2. Delete Application Data, Cache, and User Data
```sh
# You can delete the user data folders located at the following `~/jan`
rm -rf ~/jan
```
### 3. Additional Step for Versions Before 0.4.2
If you are using a version before `0.4.2`, you need to run the following commands:
```zsh
ps aux | grep nitro
# Looks for processes like `nitro` and `nitro_arm_64`, and kill them one by one by process ID
kill -9 <PID>
```
### 4. Download the Latest Version
Download the latest version of Jan from our [homepage](https://jan.ai/).
</TabItem>
</Tabs>
By following these steps, you can cleanly uninstall and reinstall Jan, ensuring a smooth and error-free experience with the latest version.
:::note
Before reinstalling Jan, ensure it's completely removed from all shared spaces if it's installed on multiple user accounts on your device.
:::

View File

@ -1,161 +0,0 @@
---
title: Troubleshooting NVIDIA GPU
sidebar_position: 2
description: A step-by-step guide to enable Jan to properly leverage NVIDIA GPU resources, avoiding performance issues.
keywords: [
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
convZ
ersational AI,
no-subscription fee,
large language model,
troubleshooting,
using GPU,
]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
This guide provides steps to troubleshoot and resolve issues when the Jan app does not utilize the NVIDIA GPU on Windows and Linux systems.
### 1. Ensure GPU Mode Requirements
<Tabs>
<TabItem value="windows" label="Windows">
#### NVIDIA Driver
- Install an [NVIDIA Driver](https://www.nvidia.com/Download/index.aspx) supporting CUDA 11.7 or higher.
- Use the following command to verify the installation:
```sh
nvidia-smi
```
#### CUDA Toolkit
- Install a [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) compatible with your NVIDIA driver.
- Use the following command to verify the installation:
```sh
nvcc --version
```
</TabItem>
<TabItem value="linux" label="Linux">
#### NVIDIA Driver
- Install an [NVIDIA Driver](https://www.nvidia.com/Download/index.aspx) supporting CUDA 11.7 or higher.
- Use the following command to verify the installation:
```sh
nvidia-smi
```
#### CUDA Toolkit
- Install a [CUDA toolkit](https://developer.nvidia.com/cuda-downloads) compatible with your NVIDIA driver.
- Use the following command to verify the installation:
```sh
nvcc --version
```
#### Linux Specifics
- Ensure that `gcc-11`, `g++-11`, `cpp-11`, or higher is installed.
- See [instructions](https://gcc.gnu.org/projects/cxx-status.html#cxx17) for Ubuntu installation.
- **Post-Installation Actions**: Add CUDA libraries to `LD_LIBRARY_PATH`.
- Follow the [Post-installation Actions](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#post-installation-actions) instructions.
</TabItem>
</Tabs>
### 2. Switch to GPU Mode
Jan defaults to CPU mode but automatically switches to GPU mode if your system supports it, selecting the GPU with the highest VRAM. Check this setting in `Settings` > `Advanced Settings`.
#### Troubleshooting Tips
If GPU mode isn't enabled by default:
1. Confirm that you have installed an NVIDIA driver supporting CUDA 11.7 or higher. Refer to [CUDA compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver).
2. Ensure compatibility of the CUDA toolkit with your NVIDIA driver. Refer to [CUDA compatibility](https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver).
3. For Linux, add CUDA's `.so` libraries to the `LD_LIBRARY_PATH`. For Windows, ensure that CUDA's `.dll` libraries are in the PATH. Refer to [Windows setup](https://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#environment-setup).
### 3. Check GPU Settings
1. Navigate to `Settings` > `Advanced Settings` > `Jan Data Folder` to access GPU settings.
2. Open the `settings.json` file in the `settings` folder. Here's an example:
```json title="~/jan/settings/settings.json"
{
"notify": true,
"run_mode": "gpu",
"nvidia_driver": {
"exist": true,
"version": "531.18"
},
"cuda": {
"exist": true,
"version": "12"
},
"gpus": [
{
"id": "0",
"vram": "12282"
},
{
"id": "1",
"vram": "6144"
},
{
"id": "2",
"vram": "6144"
}
],
"gpu_highest_vram": "0"
}
```
### 4. Restart Jan
Restart Jan application to make sure it works.
#### Troubleshooting Tips
- Ensure `nvidia_driver` and `cuda` fields indicate installed software.
- If `gpus` field is empty or lacks your GPU, check NVIDIA driver and CUDA toolkit installations.
- For further assistance, share the `settings.json` file.
### Tested Configurations
- **Windows 11 Pro 64-bit:**
- GPU: NVIDIA GeForce RTX 4070ti
- CUDA: 12.2
- NVIDIA driver: 531.18 (Bare metal)
- **Ubuntu 22.04 LTS:**
- GPU: NVIDIA GeForce RTX 4070ti
- CUDA: 12.2
- NVIDIA driver: 545 (Bare metal)
- **Ubuntu 20.04 LTS:**
- GPU: NVIDIA GeForce GTX 1660ti
- CUDA: 12.1
- NVIDIA driver: 535 (Proxmox VM passthrough GPU)
- **Ubuntu 18.04 LTS:**
- GPU: NVIDIA GeForce GTX 1660ti
- CUDA: 12.1
- NVIDIA driver: 535 (Proxmox VM passthrough GPU)
### Common Issues and Solutions
1. If the issue persists, try installing the [Nightly version](https://jan.ai/install/nightly/).
2. Ensure your (V)RAM is accessible; some users with virtual RAM may require additional configuration.
3. Seek assistance in [Jan Discord](https://discord.gg/mY69SZaMaC).

View File

@ -1,49 +0,0 @@
---
title: How to Get Error Logs
sidebar_position: 5
description: A step-by-step guide to get the Jan app error logs.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
troubleshooting,
permission denied,
]
---
To get the error logs of your Jan application, follow the steps below:
### Jan Application
1. Navigate to the main dashboard.
2. Click the **gear icon (⚙️)** on the bottom left of your screen.
3. Under the **Settings screen**, click the **Advanced Settings**.
4. On the **Jan Data Folder** click the **folder icon (📂)** to access the data.
5. Click the **logs** folder.
### Jan UI
1. Open your Unix or Linux terminal.
2. Use the following commands to get the recent 50 lines of log files:
```bash
tail -n 50 ~/jan/logs/app.log
```
### Jan API Server
1. Open your Unix or Linux terminal.
2. Use the following commands to get the recent 50 lines of log files:
```bash
tail -n 50 ~/jan/logs/server.log
```
:::warning
Ensure to redact any private or sensitive information when sharing logs or error details.
:::
:::note
If you have any questions or are looking for support, please don't hesitate to contact us via our [Discord community](https://discord.gg/Dt7MxDyNNZ) or create a new issue in our [GitHub repository](https://github.com/janhq/jan/issues/new/choose).
:::

View File

@ -1,31 +0,0 @@
---
title: No Assistant Available
sidebar_position: 7
description: Troubleshooting steps to resolve issues no assistant available.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
troubleshooting,
no assistant available,
]
---
When you encounter the following error message:
```
No assistant available.
```
This issue arises when a new, unintentional file appears in `/jan/assistants`.
It can be resolved through the following steps:
1. Access the `/jan/assistants` directory using a file manager or terminal.
2. Within `/jan/assistants`, this directory should only contain a folder named `jan`. Identify any file outside of this folder and remove it.

View File

@ -1,39 +0,0 @@
---
title: Permission Denied
sidebar_position: 1
description: A step-by-step guide to fix the issue when access is denied due to insufficient permissions.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
troubleshooting,
permission denied,
]
---
When running Jan, you might encounter the following error message:
```
Uncaught (in promise) Error: Error invoking layout-480796bff433a3a3.js:538 remote method 'installExtension':
Error Package /Applications/Jan.app/Contents/Resources/app.asar.unpacked/pre-install/janhq-assistant-extension-1.0.0.tgz does not contain a valid manifest:
Error EACCES: permission denied, mkdtemp '/Users/username/.npm/_cacache/tmp/ueCMn4'
```
This error mainly caused by permission problem during installation. To resolve this issue, follow these steps:
1. Open your terminal.
2. Execute the following command to change ownership of the `~/.npm` directory to the current user:
```sh
sudo chown -R $(whoami) ~/.npm
```
:::note
This command ensures that the necessary permissions are granted for Jan installation, resolving the encountered error.
:::

View File

@ -1,53 +0,0 @@
---
title: Something's Amiss
sidebar_position: 4
description: A step-by-step guide to resolve an unspecified or general error.
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
When you start a chat with a model and encounter with a Something's Amiss error, here's how to resolve it:
1. Ensure your OS is up to date.
2. Choose a model smaller than 80% of your hardware's V/RAM. For example, on an 8GB machine, opt for models smaller than 6GB.
3. Install the latest [Nightly release](https://jan.ai/install/nightly/) or [clear the application cache](https://jan.ai/troubleshooting/stuck-on-broken-build/) when reinstalling Jan.
4. Confirm your V/RAM accessibility, particularly if using virtual RAM.
5. Nvidia GPU users should download [CUDA](https://developer.nvidia.com/cuda-downloads).
6. Linux users, ensure your system meets the requirements of gcc 11, g++ 11, cpp 11, or higher. Refer to this [link](https://jan.ai/guides/troubleshooting/gpu-not-used/#specific-requirements-for-linux) for details.
7. You might use the wrong port when you [check the app logs](https://jan.ai/troubleshooting/how-to-get-error-logs/) and encounter the Bind address failed at 127.0.0.1:3928 error. To check the port status, try use the `netstat` command, like the following:
<Tabs>
<TabItem value="mac" label="MacOS" default>
```sh
netstat -an | grep 3928
```
</TabItem>
<TabItem value="windows" label="Windows" default>
```sh
netstat -ano | find "3928"
tasklist /fi "PID eq 3928"
```
</TabItem>
<TabItem value="linux" label="Linux" default>
```sh
netstat -anpe | grep "3928"
```
</TabItem>
</Tabs>
:::note
`Netstat` displays the contents of various network-related data structures for active connections
:::
:::tip
Jan uses the following ports:
- Nitro: `3928`
- Jan API Server: `1337`
- Jan Documentation: `3001`
:::

View File

@ -1,62 +0,0 @@
---
title: Stuck on Loading Model
sidebar_position: 8
description: Troubleshooting steps to resolve issues related to the loading model.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
troubleshooting,
stuck on loading model,
]
---
## 1. Issue: Model Loading Stuck Due To Missing Windows Management Instrumentation Command-line (WMIC)
Encountering a stuck-on-loading model issue in Jan is caused by errors related to the `Windows Management Instrumentation Command-line (WMIC)` path not being included in the system's PATH environment variable.
Error message:
```
index.js:47 Uncaught (in promise) Error: Error invoking remote method 'invokeExtensionFunc': Error: Command failed: WMIC CPU Get NumberOfCores
```
It can be resolved through the following steps:
1. **Open System Properties:**
- Press `Windows key + R`.
- Type `sysdm.cpl` and press `Enter`.
2. **Access Environment Variables:**
- Go to the "Advanced" tab.
- Click the "Environment Variables" button.
3. **Edit System PATH:**
- Under "System Variables" find and select `Path`.
- Click "Edit."
4. **Add WMIC Path:**
- Click "New" and enter `C:\Windows\System32\Wbem`.
5. **Save Changes:**
- Click "OK" to close and save your changes.
6. **Verify Installation:**
- Restart any command prompts or terminals.
- Run `where wmic` to verify. Expected output: `C:\Windows\System32\wbem\WMIC.exe`.
## 2. Issue: Model Loading Stuck Due To CPU Without AVX
Encountering an issue with models stuck on loading in Jan can be due to the use of older generation CPUs that do not support Advanced Vector Extensions (AVX).
To check if your CPU supports AVX, visit the following link: [CPUs with AVX](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions#CPUs_with_AVX)
:::warning [Please use this with caution]
As a workaround, consider using an [emulator](https://www.intel.com/content/www/us/en/developer/articles/tool/software-development-emulator.html) to simulate AVX support.
:::

View File

@ -1,26 +0,0 @@
---
title: Thread Disappearance
sidebar_position: 6
description: Troubleshooting steps to resolve issues threads suddenly disappearance.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
troubleshooting,
thread disappearance,
]
---
When you encounter the error of old threads suddenly disappear. This can happen when a new, unintentional file is created in `/jan/threads`.
It can be resolved through the following steps:
1. Go to `/jan/threads`.
2. The `/jan/threads` directory contains many folders named with the prefix `jan_` followed by an ID (e.g., `jan_123`). Look for any file not conforming to this naming pattern and remove it.

View File

@ -1,26 +0,0 @@
---
title: Undefined Issue
sidebar_position: 3
description: A step-by-step guide to resolve errors when a variable or object is not defined.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
troubleshooting,
undefined issue,
]
---
Encountering an `undefined issue` in Jan is caused by errors related to the Nitro tool or other internal processes. It can be resolved through the following steps:
1. Clearing the Jan folder and then reopen the application to determine if the problem persists
2. Manually run the nitro tool located at `~/jan/extensions/@janhq/inference-nitro-extensions/dist/bin/(your-os)/nitro` to check for error messages.
3. Address any nitro error messages that are identified and reassess the persistence of the issue.
4. Reopen Jan to determine if the problem has been resolved after addressing any identified errors.
5. If the issue persists, please share the [app logs](https://jan.ai/troubleshooting/how-to-get-error-logs/) via [Jan Discord](https://discord.gg/mY69SZaMaC) for further assistance and troubleshooting.

View File

@ -1,24 +0,0 @@
---
title: Unexpected Token
sidebar_position: 2
description: A step-by-step guide to correct syntax errors caused by invalid JSON in the code.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
troubleshooting,
unexpected token,
]
---
Encountering the `Unexpected token` error when initiating a chat with OpenAI models mainly caused by either your OpenAI key or where you access your OpenAI from. This issue can be solved through the following steps:
1. Obtain an OpenAI API key from [OpenAI's developer platform](https://platform.openai.com/) and integrate it into your application.
2. Trying a VPN could potentially solve the issue, especially if it's related to region locking for accessing OpenAI services. By connecting through a VPN, you may bypass such restrictions and successfully initiate chats with OpenAI models.

View File

@ -1,22 +0,0 @@
---
title: Extensions
slug: /guides/extensions/
sidebar_position: 5
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
build extension,
]
---
import DocCardList from "@theme/DocCardList";
<DocCardList />

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

View File

@ -1,7 +1,8 @@
---
title: Extension Setup
title: What are Jan Extensions?
slug: /extensions
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
sidebar_position: 1
description: Dive into the available extensions and configure them.
keywords:
[
Jan AI,
@ -12,11 +13,11 @@ keywords:
conversational AI,
no-subscription fee,
large language model,
extension settings,
Jan Extensions,
Extensions,
]
---
The current Jan Desktop Client has some default extensions built on top of this framework to enhance the user experience. In this guide, we will show you the list of default extensions and how to configure extension settings.
## Default Extensions
@ -136,6 +137,24 @@ To configure extension settings:
}
```
## Import Custom Extension
:::note
Currently, Jan only supports official extensions, which can be directly downloaded in Extension Settings. We plan to support 3rd party Extensions in the future.
:::
For now you can always import a third party extension at your own risk by following the steps below:
1. Navigate to **Settings** > **Extensions** > Click Select under **Manual Installation**.
2. Then, the ~/jan/extensions/extensions.json file will be updated automatically.
:::caution
You need to prepare the extension file in .tgz format to install the **non-default** extension.
:::
:::info[Assistance and Support]
If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions.

View File

@ -1,36 +0,0 @@
---
title: Import Extensions
sidebar_position: 2
description: A step-by-step guide on how to import extensions.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
import extensions,
]
---
Besides default extensions, you can import extensions into Jan by following the steps below:
1. Navigate to **Settings** > **Extensions** > Click Select under **Manual Installation**.
2. Then, the ~/jan/extensions/extensions.json file will be updated automatically.
:::caution
You need to prepare the extension file in .tgz format to install the **non-default** extension.
:::
:::info[Assistance and Support]
If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions.
:::

View File

@ -1,99 +0,0 @@
---
title: FAQs
slug: /guides/faqs
sidebar_position: 12
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
acknowledgements,
third-party libraries,
]
---
## General Issues
- **Why can't I download models like Pandora 11B Q4 and Solar Instruct 10.7B Q4?**
- These models might have been removed or taken down. Please check the [Pre-configured Models](models-list.mdx) for the latest updates on model availability.
- **Why does Jan display "Apologies, something's amiss" when I try to run it?**
- This issue may arise if you're using an older Intel chip that does not fully support AVX instructions required for running AI models. Upgrading your hardware may resolve this issue.
- **How can I use Jan in Russia?**
- To use Jan in Russia, a VPN or [HTTPS - Proxy](./advanced-settings/http-proxy.mdx) is recommended to bypass any regional restrictions that might be in place.
- **I'm experiencing an error on startup from Nitro. What should I do?**
- If you encounter errors with Nitro, try switching the path to use the Nitro executable for the version 12-0. This adjustment can help resolve path-related issues.
## Download and Installation Issues
- **What does "Error occurred: Unexpected token" mean?**
- This error usually indicates a problem with your internet connection or that your access to certain resources is being blocked. Using a VPN or [HTTPS - Proxy](./advanced-settings/http-proxy.mdx) can help avoid these issues by providing a secure and unrestricted internet connection.
- **Why aren't my downloads working?**
- If you're having trouble downloading directly through Jan, you might want to download the model separately and then import it into Jan. Detailed instructions are available on [here](install.mdx).
- **Jan AI doesn't open on my Mac with an Intel processor. What can I do?**
- Granting the `.npm` folder permission for the user can resolve issues related to permissions on macOS, especially for users with Intel processors.
- **What should I do if the model download freezes?**
- If a model download freezes, consider importing the models manually. You can find more detailed guidance on how to do this at [Manual Import](./models/import-models.mdx) article.
- **I received a message that the model GPT4 does not exist or I do not have access. What should I do?**
- This message typically means you need to top up your credit with OpenAI or check your access permissions for the model.
- **I can't download models from "Explore the Hub." What's the solution?**
- Uninstalling Jan, clearing the cache, and reinstalling it following the guide provided [here](install.mdx) may help. Also, consider downloading the `.gguf` model via a browser as an alternative approach.
## Technical Issues and Solutions
- **How can I download models with a socks5 proxy or import a local model file?**
- Nightly builds of Jan offer support for downloading models with socks5 proxies or importing local model files.
- **My device shows no GPU usage and lacks a Settings folder. What should I do?**
- Using the nightly builds of Jan can address issues related to GPU usage and the absence of a Settings folder, as these builds contain the latest fixes and features.
- **Why does Jan display a toast message saying a model is loaded when it is not actually loaded?**
- This issue can be resolved by downloading the `.gguf` file from Hugging Face and replacing it in the model folder. This ensures the correct model is loaded.
- **How to enable CORS when running Nitro?**
- By default, CORS (Cross-Origin Resource Sharing) is disabled when running Nitro. Enabling CORS can be necessary for certain operations and integrations. Check the official documentation for instructions on how to enable CORS if your workflow requires it.
## Compatibility and Support
- **How to use GPU AMD for Jan?**
- Jan now supports AMD GPUs through Vulkan. This enhancement allows users with AMD graphics cards to leverage GPU acceleration, improving performance for AI model computations.
- **Is Jan available for Android or iOS?**
- Jan is primarily focused on the Desktop app and does not currently offer mobile apps for Android or iOS. The development team is concentrating on enhancing the desktop experience.
## Development and Features
- **Does Jan support Safetensors?**
- At the moment, Jan only supports GGUF. However, there are plans to support `.safetensor` files in the future.
- **I hope to customize the installation path of each model. Is that possible?**
- Yes you can customize the installation path. Please see [here](https://jan.ai/guides/advanced-settings/#access-the-jan-data-folder) for more information.
## Troubleshooting
- **What should I do if there's high CPU usage while Jan is idle?**
- If you notice high CPU usage while Jan is idle, consider using the nightly builds of Jan
- **What does the error "Failed to fetch" mean, and how can I fix it?**
- The "Failed to fetch" error typically occurs due to network issues or restrictions. Using the nightly builds of Jan may help overcome these issues by providing updated fixes and features.
- **What should I do if "Failed to fetch" occurs using MacBook Pro with Intel HD Graphics 4000 1536 MB?**
- Ensure that the model size is less than 90% of your available VRAM and that the VRAM is accessible to the app. Managing the resources effectively can help mitigate this issue.
:::info[Assistance and Support]
If you have questions, please join our [Discord community](https://discord.gg/Dt7MxDyNNZ) for support, updates, and discussions.
:::

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 MiB

View File

@ -0,0 +1,24 @@
---
title: Hardware Setup
slug: /guides/hardware
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
sidebar_position: 3
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
hardware requirements,
Nvidia,
AMD,
CPU,
GPU
]
---
Coming Soon

View File

@ -0,0 +1,19 @@
---
title: Overview
slug: /guides
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
sidebar_position: 1
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
Coming Soon

View File

@ -0,0 +1,259 @@
---
title: Quickstart
slug: /guides/quickstart
description: Get started quickly with Jan, a ChatGPT-alternative that runs on your own computer, with a local API server. Learn how to install Jan and select an AI model to start chatting.
sidebar_position: 2
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
quickstart,
getting started,
using AI model,
installation
]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import download from './asset/download.gif';
import gpt from './asset/gpt.gif';
import model from './asset/model.gif';
To get started quickly with Jan, follow the steps below:
## Step 1: Get Jan Desktop
<Tabs>
<TabItem value="mac" label = "Mac" default>
#### Pre-requisites
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
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Mac**.
The download should be available as a `.dmg`.
#### Nightly Releases
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
#### Experimental Model
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
Homebrew package installation is currently limited to **Apple Silicon Macs**, with upcoming support for Windows and Linux.
:::
</TabItem>
<TabItem value = "windows" label = "Windows">
#### Pre-requisites
Ensure that your system meets the following requirements:
- Windows 10 or higher is required to run Jan.
To enable GPU support, you will need:
- NVIDIA GPU with CUDA Toolkit 11.7 or higher
- NVIDIA driver 470.63.01 or higher
#### Stable Releases
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Windows**.
The download should be available as a `.exe` file.
#### Nightly Releases
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
#### Experimental Model
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
#### Default Installation Directory
By default, Jan is installed in the following directory:
```sh
# Default installation directory
C:\Users\{username}\AppData\Local\Programs\Jan
```
:::warning
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors.
:::
</TabItem>
<TabItem value = "linux" label = "Linux">
#### Pre-requisites
Ensure that your system meets the following requirements:
- glibc 2.27 or higher (check with `ldd --version`)
- gcc 11, g++ 11, cpp 11, or higher, refer to this link for more information.
To enable GPU support, you will need:
- NVIDIA GPU with CUDA Toolkit 11.7 or higher
- NVIDIA driver 470.63.01 or higher
#### Stable Releases
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Linux**.
The download should be available as a `.AppImage` file or a `.deb` file.
#### Nightly Releases
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
#### Experimental Model
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
<Tabs groupId = "linux_type">
<TabItem value="linux_main" label = "Linux">
To install Jan, you should use your package manager's install or `dpkg`.
</TabItem>
<TabItem value = "deb_ub" label = "Debian / Ubuntu">
To install Jan, run the following command:
```sh
# Install Jan using dpkg
sudo dpkg -i jan-linux-amd64-{version}.deb
# Install Jan using apt-get
sudo apt-get install ./jan-linux-amd64-{version}.deb
# where jan-linux-amd64-{version}.deb is path to the Jan package
```
</TabItem>
<TabItem value = "other" label = "Others">
To install Jan, run the following commands:
```sh
# Install Jan using AppImage
chmod +x jan-linux-x86_64-{version}.AppImage
./jan-linux-x86_64-{version}.AppImage
# where jan-linux-x86_64-{version}.AppImage is path to the Jan package
```
</TabItem>
</Tabs>
:::warning
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors.
:::
</TabItem>
</Tabs>
## Step 2: Download a Model
Jan provides a variety of local AI models tailored to different needs, ready for download. These models are installed and run directly on the user's device.
1. Go to the **Hub**.
2. Select the models that you would like to install, to see a model details click the dropdown button.
3. Click the **Download** button.
<br/>
<div style={{ display: 'flex', justifyContent: 'center' }}>
<img src={download} alt="Download a Model" />
</div>
<br/>
:::note
Ensure you select the appropriate model size by balancing performance, cost, and resource considerations in line with your task's specific requirements and hardware specifications.
:::
## Step 3: Connect to ChatGPT (Optional)
Jan also provides access to remote models hosted on external servers, requiring an API key for connectivity. For example, to use the ChatGPT model with Jan, you must input your API key by following these steps:
1. Go to the **Thread** tab.
2. Under the Model dropdown menu, select the ChatGPT model.
3. Fill in your ChatGPT API Key that you can get in your [OpenAI platform](https://platform.openai.com/account/api-keys).
<br/>
<div style={{ display: 'flex', justifyContent: 'center' }}>
<img src={gpt} alt="Connect to ChatGPT" />
</div>
<br/>
## Step 4: Chat with Models
After downloading and configuring your model, you can immediately use it in the **Thread** tab.
<br/>
<div style={{ display: 'flex', justifyContent: 'center' }}>
<img src={model} alt="Chat with a model" />
</div>
<br/>
## Best Practices
This section outlines best practices for developers, analysts, and AI enthusiasts to enhance their experience with Jan when adding AI locally to their computers. Implementing these practices will optimize the performance of AI models.
### Follow the Quickstart Guide
The quickstart guide above is designed to facilitate a quick setup process. It provides a clear instruction and simple steps to get you up and running with Jan.ai quickly. Even, if you are inexperienced in AI.
### Select the Right Models
Jan offers a range of pre-configured AI models that are suited for different purposes. You should identify which on that aligns with your objectives. There are factors to be considered:
- Capabilities
- Accuracy
- Processing Speed
:::note
- Some of these factors also depend on your hardware, please see Hardware Requirement.
- Choosing the right model is important to achieve the best performance.
:::
### Setting up Jan
Ensure that you familiarize yourself with the Jan application. Jan offers advanced settings that you can adjust. These settings may influence how your AI behaves locally. Please see the [Advanced Settings](./guides/advanced) article for a complete list of Jan's configurations and instructions on how to configure them.
### Integrations
Jan can work with many different systems and tools. Whether you are incorporating Jan.ai with any open-source LLM provider or other tools, it is important to understand the integration capabilities and limitations.
### Mastering the Prompt Engineering
Prompt engineering is an important aspect when dealing with AI models to generate the desired outputs. Mastering this skill can significantly enhance the performance and the responses of the AI. Below are some tips that you can do for prompt engineering:
- Ask the model to adopt a persona
- Be specific and details get a more specific answers
- Provide examples or preference text or context at the beginning
- Use a clear and concise language
- Use certain keywords and phrases
## Pre-configured Models
To see the full list of Jan's pre-configured models, please see our official GitHub [here](https://github.com/janhq/jan).

View File

@ -0,0 +1,19 @@
---
title: Setting Up GPU
slug: /guides/hardware/gpu
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
sidebar_position: 1
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
Coming Soon

View File

@ -0,0 +1,19 @@
---
title: Overview
slug: /guides/engines
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
sidebar_position: 12
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
Coming Soon

View File

@ -0,0 +1,95 @@
---
title: Installation
sidebar_position: 4
slug: /guides/install/
hide_table_of_contents: true
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
## Jan Device Compatible
Jan is compatible with macOS, Windows, and Linux, making it accessible for a wide range of users. This compatibility allows users to leverage Jan's AI tools effectively, regardless of their device or operating system.
:::note
For detailed system requirements and setup instructions, refer to our [Hardware Setup](/guides/hardware/) guide.
:::
import DocCardList from "@theme/DocCardList";
<DocCardList />
## Install Server-Side
To install Jan from source, follow the steps below:
### Pre-requisites
Before proceeding with the installation of Jan from source, ensure that the following software versions are installed on your system:
- Node.js version 20.0.0 or higher
- Yarn version 1.22.0 or higher
### Install Jan Development Build
1. Clone the Jan repository from GitHub by using the following command:
```bash
git clone https://github.com/janhq/jan
git checkout DESIRED_BRANCH
cd jan
```
2. Install the required dependencies by using the following Yarn command:
```bash
yarn install
# Build core module
yarn build:core
# Packing base plugins
yarn build:plugins
# Packing uikit
yarn build:uikit
```
3. Run the development server.
```bash
yarn dev
```
This will start the development server and open the desktop app. During this step, you may encounter notifications about installing base plugins. Simply click **OK** and **Next** to continue.
### Install Jan Production Build
1. Clone the Jan repository from GitHub by using the following command:
```bash
git clone https://github.com/janhq/jan
cd jan
```
2. Install the required dependencies by using the following Yarn command:
```bash
yarn install
# Build core module
yarn build:core
# Packing base plugins
yarn build:plugins
# Packing uikit
yarn build:uikit
```
3. Run the production server.
```bash
yarn
```
This completes the installation process for Jan from source. The production-ready app for macOS can be found in the dist folder.

View File

@ -1,8 +1,9 @@
---
title: Installation
sidebar_position: 2
title: Install with Docker
sidebar_position: 4
slug: /guides/install/server
hide_table_of_contents: true
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
description: A step-by-step guide to install Jan using Docker.
keywords:
[
Jan AI,
@ -13,164 +14,15 @@ keywords:
conversational AI,
no-subscription fee,
large language model,
Install on Docker,
Docker,
Helm,
]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
import installImageURL from './assets/jan-ai-download.png';
<Tabs>
<TabItem value="mac" label = "Mac" default>
### Pre-requisites
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
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Mac**.
The download should be available as a `.dmg`.
### Nightly Releases
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
### Experimental Model
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
Homebrew package installation is currently limited to **Apple Silicon Macs**, with upcoming support for Windows and Linux.
:::
</TabItem>
<TabItem value = "windows" label = "Windows">
### Pre-requisites
Ensure that your system meets the following requirements:
- Windows 10 or higher is required to run Jan.
To enable GPU support, you will need:
- NVIDIA GPU with CUDA Toolkit 11.7 or higher
- NVIDIA driver 470.63.01 or higher
### Stable Releases
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Windows**.
The download should be available as a `.exe` file.
### Nightly Releases
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
### Experimental Model
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
### Default Installation Directory
By default, Jan is installed in the following directory:
```sh
# Default installation directory
C:\Users\{username}\AppData\Local\Programs\Jan
```
:::warning
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors.
:::
</TabItem>
<TabItem value = "linux" label = "Linux">
### Pre-requisites
Ensure that your system meets the following requirements:
- glibc 2.27 or higher (check with `ldd --version`)
- gcc 11, g++ 11, cpp 11, or higher, refer to this link for more information.
To enable GPU support, you will need:
- NVIDIA GPU with CUDA Toolkit 11.7 or higher
- NVIDIA driver 470.63.01 or higher
### Stable Releases
To download stable releases, go to [Jan.ai](https://jan.ai/) > select **Download for Linux**.
The download should be available as a `.AppImage` file or a `.deb` file.
### Nightly Releases
We provide the Nightly Release so that you can test new features and see what might be coming in a future stable release. Please be aware that there might be bugs!
You can download it from [Jan's Discord](https://discord.gg/FTk2MvZwJH) in the [`#nightly-builds`](https://discord.gg/q8szebnxZ7) channel.
### Experimental Model
To enable the experimental mode, go to **Settings** > **Advanced Settings** and toggle the **Experimental Mode**
<Tabs groupId = "linux_type">
<TabItem value="linux_main" label = "Linux">
To install Jan, you should use your package manager's install or `dpkg`.
</TabItem>
<TabItem value = "deb_ub" label = "Debian / Ubuntu">
To install Jan, run the following command:
```sh
# Install Jan using dpkg
sudo dpkg -i jan-linux-amd64-{version}.deb
# Install Jan using apt-get
sudo apt-get install ./jan-linux-amd64-{version}.deb
# where jan-linux-amd64-{version}.deb is path to the Jan package
```
</TabItem>
<TabItem value = "other" label = "Others">
To install Jan, run the following commands:
```sh
# Install Jan using AppImage
chmod +x jan-linux-x86_64-{version}.AppImage
./jan-linux-x86_64-{version}.AppImage
# where jan-linux-x86_64-{version}.AppImage is path to the Jan package
```
</TabItem>
</Tabs>
:::warning
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build) section of Common Errors.
:::
</TabItem>
<TabItem value="docker" label = "Docker" default>
### Pre-requisites
### Pre-requisites
Ensure that your system meets the following requirements:
- Linux or WSL2 Docker
- Latest Docker Engine and Docker Compose
@ -276,9 +128,6 @@ If you are stuck in a broken build, go to the [Broken Build](/guides/common-erro
:::warning
If you are stuck in a broken build, go to the [Broken Build](/guides/common-error/broken-build/) section of Common Errors.
If you are stuck in a broken build, go to the [Broken Build](/troubleshooting/#broken-build) section of Common Errors.
:::
</TabItem>
</Tabs>

View File

@ -0,0 +1,22 @@
---
title: Install on Linux
sidebar_position: 3
slug: /guides/install/linux
hide_table_of_contents: true
description: A step-by-step guide to install Jan on your Linux.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
Install on Linux,
Linux,
]
---
Coming soon

View File

@ -0,0 +1,23 @@
---
title: Install on Mac
sidebar_position: 1
slug: /guides/install/mac
hide_table_of_contents: true
description: A step-by-step guide to install Jan on your Mac.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
MacOs,
Install on Mac,
Apple devices,
]
---
Coming soon

View File

@ -0,0 +1,24 @@
---
title: Install on Windows
sidebar_position: 2
slug: /guides/install/windows
hide_table_of_contents: true
description: A step-by-step guide to install Jan on your Windows.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
Windows 10,
Windows 11,
Install on Windows,
Microsoft devices,
]
---
Coming soon

View File

@ -1,27 +0,0 @@
---
title: Raycast
sidebar_position: 4
description: A step-by-step guide on how to integrate Jan with Raycast.
---
## How to Integrate Raycast
[Raycast](https://www.raycast.com/) is a productivity tool designed for macOS that enhances workflow efficiency by providing quick access to various tasks and functionalities through a keyboard-driven interface. To integrate Raycast with Jan, follow the steps below:
### Step 1: Download the TinyLlama Model
1. Go to the **Hub** and download the TinyLlama model.
2. The model will be available at `~jan/models/tinyllama-1.1b`.
### Step 2: Clone and Run the Program
1. Clone this [GitHub repository](https://github.com/InNoobWeTrust/nitro-raycast).
2. Execute the project using the following command:
```sh title="Node.js"
npm i && npm run dev
```
### Step 3: Search for Nitro and Run the Model
Search for `Nitro` using the program and you can use the models from Jan in RayCast.

View File

@ -1,7 +1,7 @@
---
title: Integrations
slug: /guides/integrations/
sidebar_position: 6
slug: /integrations/
sidebar_position: 1
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords:
[

View File

@ -0,0 +1,22 @@
---
title: CrewAI
sidebar_position: 19
slug: /integrations/crewai
description: A step-by-step guide on how to integrate Jan with CrewAI.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
Continue integration,
CrewAI integration,
CrewAI
]
---
Coming Soon

View File

@ -1,10 +1,25 @@
---
title: Discord
slug: /integrations/discord
sidebar_position: 5
description: A step-by-step guide on how to integrate Jan with a Discord bot.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
Discord integration,
Discord,
bot,
]
---
## How to Integrate Discord Bot with Jan
## Integrate Discord Bot with Jan
Discord bot can enhances your discord server interactions. By integrating Jan with it, you can significantly boost responsiveness and user engaggement in your discord server.

View File

@ -1,11 +1,36 @@
---
title: Open Interpreter
slug: /integrations/interpreter
sidebar_position: 6
description: A step-by-step guide on how to integrate Jan with Open Interpreter.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
Open Interpreter integration,
Open Interpreter,
]
---
<head>
<title>Open Interpreter</title>
<meta name="description" content="A step-by-step guide on how to integrate Jan with Open Interpreter. Learn how to install Open Interpreter, configure Jan's local API server, and set up the Open Interpreter environment for seamless interaction with Jan."/>
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, Open Interpreter integration"/>
<meta property="og:title" content="Open Interpreter"/>
<meta property="og:description" content="A step-by-step guide on how to integrate Jan with Open Interpreter. Learn how to install Open Interpreter, configure Jan's local API server, and set up the Open Interpreter environment for seamless interaction with Jan."/>
<meta property="og:url" content="https://jan.ai/guides/integration/open-interpreter"/>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Open Interpreter"/>
<meta name="twitter:description" content="A step-by-step guide on how to integrate Jan with Open Interpreter. Learn how to install Open Interpreter, configure Jan's local API server, and set up the Open Interpreter environment for seamless interaction with Jan."/>
</head>
## How to Integrate Open Interpreter with Jan
## Integrate Open Interpreter with Jan
[Open Interpreter](https://github.com/KillianLucas/open-interpreter/) lets LLMs run code (Python, Javascript, Shell, and more) locally. You can chat with Open Interpreter through a ChatGPT-like interface in your terminal by running `interpreter` after installing. To integrate Open Interpreter with Jan, follow the steps below:

View File

@ -0,0 +1,19 @@
---
title: Overview
slug: /integrationss
description: Jan Docs | Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
sidebar_position: 1
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
]
---
Coming Soon

View File

@ -0,0 +1,52 @@
---
title: Raycast
slug: /integrations/raycast
sidebar_position: 17
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
raycast integration,
Raycast,
]
description: A step-by-step guide on how to integrate Jan with Raycast.
---
<head>
<title>Raycast</title>
<meta name="description" content="A step-by-step guide on how to integrate Jan with Raycast. Learn how to download the TinyLlama model, clone and run the program, and use Jan models in Raycast for enhanced productivity."/>
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, Raycast integration"/>
<meta property="og:title" content="Raycast"/>
<meta property="og:description" content="A step-by-step guide on how to integrate Jan with Raycast. Learn how to download the TinyLlama model, clone and run the program, and use Jan models in Raycast for enhanced productivity."/>
<meta property="og:url" content="https://jan.ai/guides/integration/raycast"/>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Raycast"/>
<meta name="twitter:description" content="A step-by-step guide on how to integrate Jan with Raycast. Learn how to download the TinyLlama model, clone and run the program, and use Jan models in Raycast for enhanced productivity."/>
</head>
## Integrate Raycast with Jan
[Raycast](https://www.raycast.com/) is a productivity tool designed for macOS that enhances workflow efficiency by providing quick access to various tasks and functionalities through a keyboard-driven interface. To integrate Raycast with Jan, follow the steps below:
### Step 1: Download the TinyLlama Model
1. Go to the **Hub** and download the TinyLlama model.
2. The model will be available at `~jan/models/tinyllama-1.1b`.
### Step 2: Clone and Run the Program
1. Clone this [GitHub repository](https://github.com/InNoobWeTrust/nitro-raycast).
2. Execute the project using the following command:
```sh title="Node.js"
npm i && npm run dev
```
### Step 3: Search for Nitro and Run the Model
Search for `Nitro` using the program and you can use the models from Jan in RayCast.

View File

@ -1,11 +1,36 @@
---
title: OpenRouter
slug: /integrations/openrouter
sidebar_position: 2
description: A step-by-step guide on how to integrate Jan with OpenRouter.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
OpenRouter integration,
OpenRouter
]
---
<head>
<title>OpenRouter</title>
<meta name="description" content="A step-by-step guide on how to integrate Jan with OpenRouter. Learn how to configure the OpenRouter API key, set up model configuration, and start using remote Large Language Models (LLMs) through OpenRouter with Jan."/>
<meta name="keywords" content="Jan AI, Jan, ChatGPT alternative, local AI, private AI, conversational AI, no-subscription fee, large language model, OpenRouter integration"/>
<meta property="og:title" content="OpenRouter"/>
<meta property="og:description" content="A step-by-step guide on how to integrate Jan with OpenRouter. Learn how to configure the OpenRouter API key, set up model configuration, and start using remote Large Language Models (LLMs) through OpenRouter with Jan."/>
<meta property="og:url" content="https://jan.ai/guides/integration/openrouter"/>
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="OpenRouter"/>
<meta name="twitter:description" content="A step-by-step guide on how to integrate Jan with OpenRouter. Learn how to configure the OpenRouter API key, set up model configuration, and start using remote Large Language Models (LLMs) through OpenRouter with Jan."/>
</head>
## How to Integrate OpenRouter with Jan
## Integrate OpenRouter with Jan
[OpenRouter](https://openrouter.ai/docs#quick-start) is a tool that gathers AI models. Developers can utilize its API to engage with diverse large language models, generative image models, and generative 3D object models.
@ -16,7 +41,7 @@ To connect Jan with OpenRouter for accessing remote Large Language Models (LLMs)
1. Find your API keys in the [OpenRouter API Key](https://openrouter.ai/keys).
2. Set the OpenRouter API key in `~/jan/engines/openai.json` file.
### Step 2: MModel Configuration
### Step 2: Model Configuration
1. Go to the directory `~/jan/models`.
2. Make a new folder called `openrouter-(modelname)`, like `openrouter-dolphin-mixtral-8x7b`.
@ -50,7 +75,7 @@ To connect Jan with OpenRouter for accessing remote Large Language Models (LLMs)
```
:::note
For more details regarding the `model.json` settings and parameters fields, please see [here](../models/integrate-remote.mdx#modeljson).
For more details regarding the `model.json` settings and parameters fields, please see [here](/guides/engines/remote-server/#modeljson).
:::
### Step 3 : Start the Model

View File

@ -0,0 +1,21 @@
---
title: Unsloth
sidebar_position: 20
slug: /integrations/unsloth
description: A step-by-step guide on how to integrate Jan with Unsloth.
keywords:
[
Jan AI,
Jan,
ChatGPT alternative,
local AI,
private AI,
conversational AI,
no-subscription fee,
large language model,
Continue integration,
Unsloth integration,
]
---
Coming Soon

View File

@ -1,6 +1,7 @@
---
title: Continue
sidebar_position: 1
title: Continue Integration
sidebar_position: 18
slug: /integrations/continue
description: A step-by-step guide on how to integrate Jan with Continue and VS Code.
keywords:
[
@ -17,10 +18,11 @@ keywords:
]
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';
## How to Integrate with Continue VS Code
## Integrate with Continue VS Code
[Continue](https://continue.dev/docs/intro) is an open-source autopilot compatible with Visual Studio Code and JetBrains, offering the simplest method to code with any LLM (Local Language Model).

View File

@ -1,7 +1,7 @@
---
title: Common Error
slug: /guides/common-error/
sidebar_position: 8
title: Local Engines
slug: /guides/engines/local
sidebar_position: 13
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords:
[

View File

Before

Width:  |  Height:  |  Size: 111 KiB

After

Width:  |  Height:  |  Size: 111 KiB

View File

Before

Width:  |  Height:  |  Size: 145 KiB

After

Width:  |  Height:  |  Size: 145 KiB

View File

Before

Width:  |  Height:  |  Size: 155 KiB

After

Width:  |  Height:  |  Size: 155 KiB

View File

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB

View File

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 109 KiB

View File

Before

Width:  |  Height:  |  Size: 258 KiB

After

Width:  |  Height:  |  Size: 258 KiB

View File

Before

Width:  |  Height:  |  Size: 7.3 MiB

After

Width:  |  Height:  |  Size: 7.3 MiB

View File

Before

Width:  |  Height:  |  Size: 163 KiB

After

Width:  |  Height:  |  Size: 163 KiB

View File

Before

Width:  |  Height:  |  Size: 12 MiB

After

Width:  |  Height:  |  Size: 12 MiB

Some files were not shown because too many files have changed in this diff Show More